ID: 27721 Comment by: aaron dot hawley at uvm dot edu Reported By: madams at morcor dot com Status: Bogus Bug Type: Arrays related Operating System: windows 2000/2003 server PHP Version: 4.3.4 New Comment:
I'd guess it has to do with FreeBSD == 'Good'. Fortunately, there is a solution. One just needs to create your own array_walk function (yes, PHP allows you to write functions!): function array_walk_r(&$array, $function, $data = null) { foreach ($array as $key => $value) { call_user_func_array($function, array($value, $key, $data)); $array[$key] = $value; } } // end func array_walk_r It's too bad the PHP folks can't support us more functional-minded folks. Previous Comments: ------------------------------------------------------------------------ [2004-03-26 14:05:24] madams at morcor dot com Interestingly enough this code works fine with PHP running in FreeBSD. Why is that? Any ideas? ------------------------------------------------------------------------ [2004-03-26 13:43:53] [EMAIL PROTECTED] 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 Recursive functions will overflow the stack, this is a known and unsupported functionality. ------------------------------------------------------------------------ [2004-03-26 12:57:54] madams at morcor dot com Description: ------------ array_walk causes PHP to crash on Windows 2000/2003 server when called recursively. Reproduce code: --------------- Please see http://staff.morcor.com/~madams/tmp/bugs.php.net/2004-03-26.array_walk_bug.phps for the source that causes PHP on Windows 2000/2003 server crash. The script also attempts to load an xml file. An example XML file is located at http://staff.morcor.com/~madams/tmp/bugs.php/net/2004-03-26.configuration.xml Script depends on PEAR.php and PEAR Config.php Expected result: ---------------- This code should parse the array created by PEAR::Config and define a constant for every value in the array that is not a) an array itself, b) an array with a key of '@' or c) an array that does not have an attribute (sub-array '@') constant marked 'FALSE'. Actual result: -------------- Script runs partially, stops and fails to terminate properly. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27721&edit=1