Edit report at https://bugs.php.net/bug.php?id=62607&edit=1

 ID:                 62607
 Comment by:         xmak at studioartlan dot com
 Reported by:        tito at miarroba dot net
 Summary:            array_walk_recursive move internal pointer
 Status:             Analyzed
 Type:               Bug
 Package:            Arrays related
 PHP Version:        5.3.14
 Block user comment: N
 Private report:     N

 New Comment:

This also happens for regular array_walk()


Previous Comments:
------------------------------------------------------------------------
[2012-07-19 14:18:09] larue...@php.net

it's a side affect of fixing #61730
before that fix, array_walk_ use a pos to hold iterator position, but that will 
cause segfault if the postion become a pending pointer(by unseting the array 
element).

------------------------------------------------------------------------
[2012-07-19 10:27:12] reeze dot xia at gmail dot com

Yes, it did after the fix for https://bugs.php.net/bug.php?id=61730.

------------------------------------------------------------------------
[2012-07-19 08:52:53] tito at miarroba dot net

Description:
------------
array_walk_recursive move internal pointer position since 5.3.13 version

Test script:
---------------
$arr = array('a'=>'b');
echo 'Before -> '.current($arr).PHP_EOL;
array_walk_recursive($arr, function(&$val){});
echo 'After -> '.current($arr);

Expected result:
----------------
Before -> b
After -> b

Actual result:
--------------
Before -> b
After -> false


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62607&edit=1

Reply via email to