#44022 [Opn->Bgs]: Infinite loop with each( )
ID: 44022
Updated by: stas@php.net
Reported By: martin at bang dot ca
-Status: Open
+Status: Bogus
Bug Type: Arrays related
Operating System: Linux
PHP Version: 4.4.8
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
getTestArray() is called each time anew. Since in the first example
getTestArray() returns new array each time, it loops forever.
Previous Comments:
------------------------------------------------------------------------
[2008-02-02 04:06:47] martin at bang dot ca
Description:
------------
Infinite loop when using a function call which returns an array in
each( )
Reproduce code:
---------------
Infinite loop here (prints "1 -> 1\n" forever)
while( list( $k, $v ) = each( getTestArray() ) ) {
echo "$k -> $v\n";
}
function getTestArray() {
return array( "1" => "1" );
}
This works OK (prints "1 -> 1" once):
$GLOBALS['test'] = array( "1" => "1" );
while( list( $k, $v ) = each( getTestArray() ) ) {
echo "$k -> $v\n";
}
function getTestArray() {
return $GLOBALS['test'];
}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44022&edit=1
Thread (2 messages)