Variablennamen über Variablen definieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Variablennamen über Variablen definieren

    Hi Leute, ich hab folgendes Problem:
    Ich hab eine definitionsvariable:

    $def = 38;

    So und nun möchte ich den Inhalt der variable, die mit $def definiert ist, auslesen.
    Also in diesem Fall:

    echo $38 ;

    bei $def = 39; wär es: echo $39;
    bei $def = 40; wär es: echo $40;
    bei $def = 41; wär es: echo $41;
    bei $def = 42; wär es: echo $42;
    bei $def = 43; wär es: echo $43;

    und so weiter.

    geht das irgendwie ??

    K.
    Hier könnte ihre Werbung stehen!!
  • Also versteh ich dich, willst du ne Schleife haben, die den Text der Zahlen 39-bis eine bestimme Zahl ausgibt?!
    Mach das doch mit for
    Ist doch viel einfacher.
    Falls ich das falsch versteh, erklaer es bitte nochmal.
    mortician
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • Hi.
    in meinen konkreten Fall handelt es sich um eine Anwesenheitsliste für Auftritte einer Kapelle.

    Also, ich hab ca. 100 Variablen: von $1 bis $100
    Diese haben unterschiedliche Werte (1 für Absage, 2 für Zusage usw...)
    Jede der Variablen, für 100 Auftritte.

    Wenn ich jetzt zum beispiel den Status von auftritt 58 abfragen will, gibt es dann eine Möglichkeit, dass ich sage:

    $checken = 58;
    (die 58 als ZAHLWERT, nicht als Variable...)


    und mir php daraus folgert:
    $checken = 58 bedeutet, dass er den inhalt von $58 ausgeben soll.

    Sozusagen ein:
    if ($checken = 58)
    {echo $58;}

    So, jetzt könnte ich ja einfach 100 if-schleifen schreiben, dass ist ja aber nit so toll.
    weiss einer einen Rat ??

    K.
    Hier könnte ihre Werbung stehen!!
  • Das schreit nach Arrays, aber ich weiss leider zuwenig wie man mit denen umgehen kann, also $checken['variable1'] uswaber mann kann auch 2dimensionale arrays haben je nachdem wie dein problem strukturiert ist und was für abfragen du machst.
    Ich hoffe das gibt dir eine idee und hilft dir beim weitersuchen
  • Also... so ganz peil ichs immer noch net.
    Also du hst 100 Auftritte.... hast jedem Auftritt nen Wert "Zusage"[1] oder "Absage"[0].
    Nun willst du zb wissen was auftritt 58 fuer einen Status (Zusage oder Absage) hat, richtig?!
    ja halt:
    $a1 = 1;
    $a2 = 0;
    .....
    $a58 = 1; // Da ist doch dein Auftritt 58.
    Was willste denn leichter haben?!
    mortician
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • also dein problem ist ganz einfach zu lösen.

    PHP unterstützt variable variablennamen, um also die variablen $1-$100 auszugeben reicht folgendes:

    PHP-Quellcode

    1. for(i=1; i<=100; i++) {
    2. echo $$i;
    3. }


    -purx
    [SIZE=1]"There's no right, there's no wrong, there's only popular opinion." Jeffrey Goines (Brad Pitt) in Twelve Monkeys[/SIZE]

    [SIZE=1]$ killall chico[/SIZE]
  • π±ε̃ vom 18.12.2005 schrieb:

    Das schreit nach Arrays, ...

    ganz deiner meinung!!

    PHP-Quellcode

    1. $auftritte[0] = 2;
    2. $auftritte[1] = 1;
    3. $auftritte[2] = 3;
    4. // etc etc etc
    5. $auftritte[100] = 1;
    6. while (list($key, $value) = each($auftritte)) {
    7. switch ($value) {
    8. case 0: echo 'auftritt '.$key.' findet nicht statt!';
    9. case 1: echo 'auftritt '.$key.' findet statt!';
    10. case 2: echo 'auftritt '.$key.' ausgebucht!';
    11. // etc etc etc
    12. } // END switch
    13. } // END while
    Alles anzeigen


    ~ C L O S E D ~

    ceeyaa.mex