Variable ausserhalb For-Schleife sichtbar machen

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

  • Variable ausserhalb For-Schleife sichtbar machen

    Hallo zusammen

    mache gerade meine ersten Schritte in PHP. Und schon stolpere ich...

    Wollte einwenig mit For-Schleifen basteln und bin dabei auf ein Problem gestossen, welches mein schlaues Buch nicht beantwortet (oder ich hab's einfach nicht gefunden).

    Folgende Problem:

    Innerhalb einer For-Schleife fülle ich mehrere Werte in eine Array-Variable $datei. Das funzt auch wunderprächtig. Auch kann ich den Inhalt dieser Variable innerhalb dieser Schleife auch problemlos wieder ausgeben mit echo $datei[0][x];

    Nun hab ich aber unmittelbar nach der ersten For-Schleife noch eine zweite, in der ich die Werte aus $datei benötige. Aber ich schaffe es einfach nicht, dass ich auf diese Variable zugreifen kann.


    Wie kann ich das hinkriegen?

    Danke für eure Hilfe

    Gruss
    phpli

  • #2
    genauso wie in der for-schleife.

    wo sind deine ansätze?

    Kommentar


    • #3
      ARRAY

      hallo

      um deine Frage zu beantworten benötige ich schon einen abriss deines Codes, poste mal die entsprechnde for schleife und die wo du das ausgeben willst.

      Kommentar


      • #4
        Hier der Teil des Scripts:

        PHP-Code:
        <?function thumbs_anz($pfad, $title)
        {
            $thumbs=$pfad."/thumbs";
            global $datei;
            $obj = dir("$thumbs"); 
                for ($i=0;$var=$obj -> read(); $i++)
                {
                    if ($var == "." || $var == "..")
                    {
                        //echo "debug";
                    }
                    else
                    { 
                        // Hier wird die Variable abgefüllt
                         $datei[0][$i]=$var;
                        //echo $datei[0][$i++]."<br>"; 
                    }
                }
                $obj -> close(); 
            ?>

            <table border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td class="title" align="center" colspan="4"><? echo $title; ?></td>
                </tr>
                <tr>
                    <td class="angebot" align="center" colspan="4">&nbsp;</td>
                </tr><?
                                        
         // Und hier möchte ich wieder darauf zugreifen
                for ($y=0; $y < count($datei); )
                { ?>
                    <tr>
                        <td class="angebot" align="center">
                            <img src="<? echo $thumbs."/".$datei[0][$i++]; ?>"></td>
                        <td class="angebot" align="center">
                            <img src="<? echo $thumbs."/".$datei[0][$i++]; ?>"></td>
                        <td class="angebot" align="center">
                            <img src="<? echo $thumbs."/".$datei[0][$i++]; ?>"></td>
                        <td class="angebot" align="center">
                            <img src="<? echo $thumbs."/".$datei[0][$i++]; ?>"></td>
                    </tr>
                    <tr>
                        <td class="angebot" align="center" colspan="4">&nbsp;</td>
                    </tr> <?
                } ?>
            </TABLE> <?
        }?>
        Zuletzt geändert von phpli; 02.02.2005, 19:20.

        Kommentar


        • #5
          Original geschrieben von phpli
          PHP-Code:
           // Und hier möchte ich wieder darauf zugreifen
                  
          for ($y=0$y count($datei); ) 
          kontrollausgabe von count($datei) an dieser stelle?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            kontrollausgabe von count($datei) an dieser stelle?
            du meinst das raufzählen von $y?

            das gschieht ja innerhalb der For-Schleife... Das sollte so ja hinkommen denn meines Wissens muss das nicht unbedingt in der For-Anweisung passieren.

            Kommentar


            • #7
              nur ein performace hinweis ...

              pack das count($datei) vorher in ne var ...
              sonst wird das bei jedem schleifendurchlauf ausgeführt...

              gruss
              iglo

              Kommentar


              • #8
                du meinst das raufzählen von $y?
                Nein, er meint die ausgabe von count($datei)

                Kommentar


                • #9
                  Danke für den Hinweis. Hab den Code schon mal soweit angepasst.

                  Nur im Moment nützt mir das leider auch nicht viel, da ich die $datei an dieser stelle eh nicht sehen kann...

                  Kommentar


                  • #10
                    du sollteste irgendw0 $i wieder auf 0 setzen


                    Zuletzt geändert von iilt; 02.02.2005, 19:16.

                    Kommentar


                    • #11
                      Brich mal bitte den Code um, damit man nicht Scrollen muss.

                      Kommentar


                      • #12
                        du sollteste irgendow $i wieder auf 0 setzen
                        ich verstehe leider nur überhaupt nicht, was du meinst...

                        Und auf meine eigentliche Frage ist nun noch niemand eingegangen:
                        --> Wie kann ich auf die $datei in der zweiten For-Schleife zugreifen???

                        P.S.: Den Fehler mit dem $i++ in der Tabelle habe ich bemerkt. Ist mir vorhin während dem rumprobieren so reingerutscht. Steht jetzt $y++ da wie es sich gehört.

                        Kommentar


                        • #13
                          und das klappt noch nicht?

                          Kommentar


                          • #14
                            Original geschrieben von phpli
                            Nur im Moment nützt mir das leider auch nicht viel, da ich die $datei an dieser stelle eh nicht sehen kann...
                            eventuelle beschränkungen deiner sensorischen fähigkeiten interessieren hier aber weniger ...


                            ist $datei an der stelle vorhanden? -> mit isset prüfen
                            (wenn nicht, solltest du ja eh schon eine entsprechende meldung bekommen haben, es sei denn du hättest dein error reporting zu lasch eingestellt.)

                            print_r($datei) an dieser stelle ergibt?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              count

                              nur mal so ein Gedanke

                              ist

                              PHP-Code:
                              $a=count($datei); 

                              echo 
                              "Ausgabe=";
                              echo 
                              $a;

                              Ausgabe=


                              da du hier ja ein mehrdimensionales Array anlegst, count aber nur die erste Dimension zählt und die ist bei die ja datei[0] ?[
                              Zuletzt geändert von iilt; 02.02.2005, 20:01.

                              Kommentar

                              Lädt...
                              X