Hey, I was messing around with array_walk[_recursive] and found the behaviour it uses to validate callback functions completely different to other standard functions.
array_walk_recursive http://lxr.php.net/source/php-src/ext/standard/array.c#1111 array_filter http://lxr.php.net/source/php-src/ext/standard/array.c#3973 array_map http://lxr.php.net/source/php-src/ext/standard/array.c#4065 Now, apart from the internal differences, the external differences are quite apparent. array_walk[_recursive] called with an array('foo','bar') as a callback will throw a E_FATAL * reproduce: php -r '$var=array('foo','bar'); array_walk_recursive($var, array('foo','bar'));' Compared to only an E_WARNING for other functions. * reproduce: php -r '$var=array('foo','bar'); array_filter($var, array('foo','bar'));' Is there a good reason for this? Perhaps we could implement a standard method for such validation? On a side note, with php_error_docref errors, please don't add a full stop to the end of the error message! Kind Regards, Aidan Lister -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php