From: Antony Dovgal Date: Tue, 19 Sep 2006 09:35:27 +0000 (+0000) Subject: support objects in array_walk*() X-Git-Tag: php-5.2.0RC5~131 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e1ff6fe881131ea86d140ade76d30594c190f0de;p=php support objects in array_walk*() --- diff --git a/ext/standard/array.c b/ext/standard/array.c index b7bf6b4549..9d986137d1 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1138,7 +1138,7 @@ PHP_FUNCTION(array_walk) HashTable *target_hash; old_walk_func_name = BG(array_walk_func_name); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "az|z", &array, &tmp, &userdata) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz|z", &array, &tmp, &userdata) == FAILURE) { return; } target_hash = HASH_OF(array); @@ -1169,7 +1169,7 @@ PHP_FUNCTION(array_walk_recursive) HashTable *target_hash; old_walk_func_name = BG(array_walk_func_name); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "az|z", &array, &tmp, &userdata) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz|z", &array, &tmp, &userdata) == FAILURE) { return; } target_hash = HASH_OF(array); diff --git a/ext/standard/tests/array/array_walk.phpt b/ext/standard/tests/array/array_walk.phpt index 7c0969eb96..a0e2098311 100644 --- a/ext/standard/tests/array/array_walk.phpt +++ b/ext/standard/tests/array/array_walk.phpt @@ -34,8 +34,8 @@ echo "Done\n"; Warning: array_walk() expects at least 2 parameters, 0 given in %s on line %d NULL -Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d -NULL +Warning: array_walk(): The argument should be an array in %s on line %d +bool(false) bool(true) int(1) int(0) diff --git a/ext/standard/tests/array/array_walk_objects.phpt b/ext/standard/tests/array/array_walk_objects.phpt new file mode 100644 index 0000000000..40d50b19cc Binary files /dev/null and b/ext/standard/tests/array/array_walk_objects.phpt differ diff --git a/ext/standard/tests/array/array_walk_rec_objects.phpt b/ext/standard/tests/array/array_walk_rec_objects.phpt new file mode 100644 index 0000000000..380d83ee03 Binary files /dev/null and b/ext/standard/tests/array/array_walk_rec_objects.phpt differ diff --git a/ext/standard/tests/array/array_walk_recursive1.phpt b/ext/standard/tests/array/array_walk_recursive1.phpt index c3326581ce..8505b70e98 100644 --- a/ext/standard/tests/array/array_walk_recursive1.phpt +++ b/ext/standard/tests/array/array_walk_recursive1.phpt @@ -34,8 +34,8 @@ echo "Done\n"; Warning: array_walk_recursive() expects at least 2 parameters, 0 given in %s on line %d NULL -Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d -NULL +Warning: array_walk_recursive(): The argument should be an array in %s on line %d +bool(false) bool(true) int(1) int(0)