foreach --> set variable ...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • foreach --> set variable ...

    Hallo Freunde der nacht,

    hab da mal ne blöde newbie-frage:
    kann man in PHP nicht existierende Variablen automatisch erstellen lassen, wo der Name sich aus dem content eines Arrays per foreach über geben lässt? Wenn nicht muss ich mich übergeben ...

    z.B.:

    PHP-Code:
    <?php
    session_start
    ();

    $_SESSION['nav']     =     file ("nav.txt"); //enthält die menuepunkte
        
    foreach        ($_SESSION['nav'] as $_SESSION['cms']) {
          ...

        
        };
    };
    ?>

    Vielen Dank im Vorraus, Ich versuche weiterhin was zu finden.
    WL
    Es gibt keine dummen Fragen, es gibt nur schlecht gestellte Fragen und ein Haufen unnützer Antworten ...

  • #2
    schlimm wenn ich dir grad nicht so ganz folgen kann?

    du könntest nach variablen variablen suchen oder einfach mal beschreiben was du machen willst
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      generell kannst du variablennamen so erstellen:
      PHP-Code:
      $varName "myVar";
      $
      $varName "hello world";

      echo 
      $myVar//müsste "hello world" ausgeben 
      bringt dich das weiter?

      Kommentar


      • #4
        $$varName = "hello world";
        echo $myVar; //müsste "hello world" ausgeben
        Wenn das hello world gibt, dann stimmt was mit deinem PHP nicht ($$)

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          ausprobiert?

          Kommentar


          • #6
            Salut

            man lernt eben nie aus...

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              hm, ich meinte eher "on the fly",

              also wenn in meinem obigen beispiel in der text datei:

              news
              about
              impressum

              stünde, dass NUR dann drei variablen geschrieben würden namens $news, $about, $ impressum.

              Wohl gemerkt wissen wir beim programmieren des scripts noch nicht, dass dies der inhalt der txt datei ist, also können wir die variablen nicht festlegen sondern sie müssten sich aus der abfrage und der foreach ergeben ..

              hab ich es jetzt besser erklärt? sorry für die unklare frage und danke für den versuch mir zu helfen ...


              Lieben Gruß WL
              Es gibt keine dummen Fragen, es gibt nur schlecht gestellte Fragen und ein Haufen unnützer Antworten ...

              Kommentar


              • #8
                die frage war schon ok formuliert.

                wenn du die zeilen aus der datei auslesen kannst, wo ist das problem, sie so, wie ich es mit myVar vorgeführt habe, zu erstellen?

                OffTopic:
                an die anderen: gibts für "variablen erstellen" eigentlich einen fachbegriff? kann man hier auch "deklarieren" sagen? denke schon.

                Kommentar


                • #9
                  ne funzt leider nicht weil in bei deinem Ansatz würde bei:

                  PHP-Code:
                  <?php
                  session_start
                  ();

                  $_SESSION['nav']     =     file ("nav.txt"); //enthält news,about, impressum
                      
                  foreach        ($_SESSION['nav'] as $_SESSION['cms']) {
                      
                  $varName .= $_SESSION['cms'];
                      $
                  $varName .= $_SESSION['cms'] . ".txt";
                      echo $
                  $varName;
                      };
                  ?>
                  würde "news about impressum.txt" heraus kommen und nicht wie ich wollte
                  "news.txt
                  about.txt
                  impressum.txt"

                  also dass drei variablen gegründet werden wenn drei Zeilen im Array aus dem Text File vorhanden sind ...

                  *kopf kratz* - oder bin ich einfach zu müde um den wald vor lauter bäumen nich zu sehen ??? - ohne punkt vor = dasselbe ...

                  Lieben Gruß, WL
                  Es gibt keine dummen Fragen, es gibt nur schlecht gestellte Fragen und ein Haufen unnützer Antworten ...

                  Kommentar


                  • #10
                    zeilenumbrüche? die gibts auf dem flohmarkt.

                    Kommentar


                    • #11
                      RRrrrRRRRRR **** Zeilenumbrüche??????? War wohl schon spät, wat? Also wegen nem "n" oder "br" werd ich hier wohl kaum posten!!!!

                      Also nochmal: Es besteht für jeden halbwegs nüchteren Menschen ein Unterschied zwischen 123.tx und 1.txt, 2.txt und 3.txt - jetzt verstanden ????

                      Gruß, WL
                      Es gibt keine dummen Fragen, es gibt nur schlecht gestellte Fragen und ein Haufen unnützer Antworten ...

                      Kommentar


                      • #12
                        Immer schön ruhig bleiben
                        PHP-Code:
                        $_SESSION['nav'] = array('news''about''impressum');
                        foreach (
                        $_SESSION['nav'] as $_SESSION['cms']) {
                            
                        $varName .= $_SESSION['cms'];
                            $
                        $varName .= $_SESSION['cms'] . ".txt";
                            echo $
                        $varName;
                        }; 
                        das entspricht doch deinem Beispiel oder?

                        bei mir kommt als ausgabe
                        Code:
                        news.txtabout.txtimpressum.txt
                        und mit einem zeilenumbruch
                        PHP-Code:
                        $_SESSION['nav'] = array('news''about''impressum');
                        foreach (
                        $_SESSION['nav'] as $_SESSION['cms']) {
                            
                        $varName .= $_SESSION['cms'];
                            $
                        $varName .= $_SESSION['cms'] . ".txt";
                            echo $
                        $varName.'<br />';
                        }; 
                        kommt das raus:
                        Code:
                        news.txt
                        about.txt
                        impressum.txt
                        wenn bei dir was anderes steht, dann machst du was falsch oder die datei ist schlecht
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ja isset denn ?! ...

                          Original geschrieben von mrhappiness
                          Immer schön ruhig bleiben
                          PHP-Code:
                          $_SESSION['nav'] = array('news''about''impressum');
                          foreach (
                          $_SESSION['nav'] as $_SESSION['cms']) {
                              
                          $varName .= $_SESSION['cms'];
                              $
                          $varName .= $_SESSION['cms'] . ".txt";
                              echo $
                          $varName;
                          }; 
                          das entspricht doch deinem Beispiel oder?

                          bei mir kommt als ausgabe
                          Code:
                          news.txtabout.txtimpressum.txt
                          und mit einem zeilenumbruch
                          PHP-Code:
                          $_SESSION['nav'] = array('news''about''impressum');
                          foreach (
                          $_SESSION['nav'] as $_SESSION['cms']) {
                              
                          $varName .= $_SESSION['cms'];
                              $
                          $varName .= $_SESSION['cms'] . ".txt";
                              echo $
                          $varName.'<br />';
                          }; 
                          kommt das raus:
                          Code:
                          news.txt
                          about.txt
                          impressum.txt
                          wenn bei dir was anderes steht, dann machst du was falsch oder die datei ist schlecht
                          ok, ok, ok ich bin ganz ruhig *tief luft hol* - um den zeilenumbruch gehts nicht, den kenn' ich grad noch so is mir in den letzten Jahren schon mal unter gekommen *lol* - Mir gings um das beisielhafte Ergebnis zur Beweisführung darüber dass sich wirklich Variablen "on the fly" selbst deklariert haben. Wie man sehen kann, hast du ein fertig deklariertes (starres) array benutzt und ich ein array über " = file (blabla.txt)" geladen, welches sich (logischer Weise war das der Sinn der Sache) durch den Inhalt von blabla.txt definiert. Also, um mir jetzt mal meine letzte Frage selbst zu beantworten, seh ich den Wald wohl eher vor lauter "arrays" nicht mehr, und mein array über " = file (blabla.txt)" funktioniert so nicht, wenn dein Beispiel, wie du sagtest, wohl richtig funktioniert. Also liegt im array definieren mein Fehler und da muss ich anfangen zu suchen...


                          Ich möchte mich bei penizillin für den Tip mit $$ bedanken
                          bei mrhappiness für sein Beispiel was mir aufzeigte wo mein Fehler liegt,
                          und mir für den Versuch das alles richtig zu verstehen ))

                          Liebe Grüße, WL
                          Zuletzt geändert von Willy_Lernen; 23.11.2004, 08:33.
                          Es gibt keine dummen Fragen, es gibt nur schlecht gestellte Fragen und ein Haufen unnützer Antworten ...

                          Kommentar


                          • #14
                            Original geschrieben von jahlives

                            man lernt eben nie aus...
                            OffTopic:
                            vor allem, wenn man sich nicht die Mühe gibt, das Manual richtig durchzulesen

                            Kommentar

                            Lädt...
                            X