phpbar.de logo

Mailinglisten-Archive

[php] while ( $foo = each(array_keys($bar[baz]))) { ...

[php] while ( $foo = each(array_keys($bar[baz]))) { ...

Hartmut Holzgraefe hartmut_(at)_six.de
Tue, 19 Dec 2000 11:43:30 +0100


Jens Benecke wrote:
> while ( $foo = each(array_keys($bar[baz])))
>
> beim obigen Codestück hängt PHP (4.0.2 IIRC) sich komplett weg und nach 30
> Sekunden kommt dann die übliche "script execution time exceeded". Was mache
> ich falsch? 

die while-Bedingung wird bei jedem Schleifendurchlauf ausgewertet, und
damit wird auch array_keys() jedesmal neu ausgeführt und each() liefert
jedesmal das erste Element des neu erzeugten Arrays, das kann natürlich
bie aufhören...

$a = array_keys($bar[baz]);
while ( $foo = each($a)) {
...
}

sollte tun


-- 
Hartmut Holzgraefe  hartmut_(at)_six.de  http://www.six.de  +49-711-99091-77


php::bar PHP Wiki   -   Listenarchive