Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]while(list(..)=each(...))
Forum PHP.pl > Forum > Przedszkole
Kedan
Mam funkcje, która wyświetla ilość elementów w tablicy asocjacyjnej _form[], oraz nazwy kluczy tej tablicy:
Kod
    function Dir($_MODE){
        switch($_MODE){
            case "form":{
                $i=0;
                $s = count($this->_form);
                while(list($k,$v) = each($this->_form)){
                    $tmpTab[$i] = $k;
                    $i++;
                }//while
                $tmp = implode("<br>",$tmpTab);
                wypisz("<center>- BEGIN -</center><br><br>Formularze<br> There is ".$s." forms in class:<br><br>".$tmp."<br><br><center>- END -</center>");
            }//case
            break;
        }//switch
    }//function

Kiedy funckję wywołuje dwa razy z rzędu:
Kod
Dir(ble);
Dir(ble);

pierwsze wywołanie działa bez zarzutu a w drugim pokazuje mi błąd w linii
Kod
$tmp = implode("<br>",$tmpTab);


Czy ktoś mógłby mi wyjaśnić czemu tak się dzieje?
NoiseMc
Moze doszedl do konca tablicy i ustawil sobie wskaznik na koncu tablicy ... sprobuj http://us2.php.net/reset albo uzywaj foreach zamiast list ... each
Kedan
Ok. Zrobiłem z foreach() i działa bez zarzutu. Dzięki za szybko odpowiedź.
Pozdro. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.