From: benadin at ukr dot net Operating system: FreeBSD 5.4 PHP version: 5.1.1 PHP Bug Type: Variables related Bug description: References doesn't work in some cases strating from PHP 5.1.1
Description: ------------ In the code below method StructAddNodePointer gets a part (branch) of the array (in the example $bar->dxml_struct_arr) and fills it. It works in PHP 5.0.5 but doesn't work in PHP 5.1.1. It seems in PHP 5.1.1 passing &$dxml_struct_arr by reference doesn't work. Or may be it doesn't work here: $pointer_tree_doc_value = &$bar->StructAddNodePointer('doc', $bar->dxml_struct_arr); Reproduce code: --------------- class foo { function StructAddNode($tag, &$dxml_struct_arr, $attribs = array()) { $dxml_struct_arr[] = array( 'tag' => $tag, 'value' => null #array() ); $index= (sizeof($dxml_struct_arr)-1); return $index; } function StructAddNodePointer($tag, &$dxml_struct_arr, $attribs = array()) { $index = $this->StructAddNode($tag, $dxml_struct_arr, $attribs); return $dxml_struct_arr[$index]['value']; } } $bar = new foo(); $bar->dxml_struct_arr = array(); $pointer_tree_doc_value = &$bar->StructAddNodePointer('doc', $bar->dxml_struct_arr); $pointer_tree_head_value = &$bar->StructAddNodePointer('HEAD', $pointer_tree_doc_value); print_r($bar->dxml_struct_arr); Expected result: ---------------- Array ( [0] => Array ( [tag] => doc [value] => Array ( [0] => Array ( [tag] => HEAD [value] => ) ) ) ) Actual result: -------------- Array ( [0] => Array ( [tag] => doc [value] => ) ) -- Edit bug report at http://bugs.php.net/?id=35905&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=35905&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=35905&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=35905&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=35905&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=35905&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=35905&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=35905&r=needscript Try newer version: http://bugs.php.net/fix.php?id=35905&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=35905&r=support Expected behavior: http://bugs.php.net/fix.php?id=35905&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=35905&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=35905&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=35905&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=35905&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=35905&r=dst IIS Stability: http://bugs.php.net/fix.php?id=35905&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=35905&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=35905&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=35905&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=35905&r=mysqlcfg