From:             
Operating system: Windows
PHP version:      5.3.2
Package:          Arrays related
Bug Type:         Bug
Bug description:array_walk 3rd parameter not modifying by-reference

Description:
------------
third parameters of array_walk function is not changing unless I used the 

deprecated syntax of call-by-reference



Deprecated message is shown and its working properly that way.

Test script:
---------------
$cont  = 0;

$sampleArray = array(0,1,1,2,3,5,8,13);

$foo = function($item,$key,$aux){

        $aux++; 

};

array_walk($sampleArray,$foo,$cont);

echo $cont; // it's ok. cont = 0, no call-by-reference





echo "<hr>";



$cont  = 0;

$foo = function($item,$key,&$aux){

        $aux++; 

};

array_walk($sampleArray,$foo,$cont);

echo $cont; // it should be same as count($sampleArray) but it is 0 BUG!







echo "<hr>";





$cont  = 0;

$foo = function($item,$key,&$aux){

        $aux++; 

};

array_walk($sampleArray,$foo,&$cont);

echo $cont; // it is 8, perfect but Deprecated: Call-time pass-by-reference
has been deprecated

Expected result:
----------------
0,8,8 should by right

but

0,0,8 


-- 
Edit bug report at http://bugs.php.net/bug.php?id=52244&edit=1
-- 
Try a snapshot (PHP 5.2):            
http://bugs.php.net/fix.php?id=52244&r=trysnapshot52
Try a snapshot (PHP 5.3):            
http://bugs.php.net/fix.php?id=52244&r=trysnapshot53
Try a snapshot (trunk):              
http://bugs.php.net/fix.php?id=52244&r=trysnapshottrunk
Fixed in SVN:                        
http://bugs.php.net/fix.php?id=52244&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=52244&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=52244&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=52244&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=52244&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=52244&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=52244&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=52244&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=52244&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=52244&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=52244&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=52244&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=52244&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=52244&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=52244&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=52244&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=52244&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=52244&r=mysqlcfg

Reply via email to