]> granicus.if.org Git - php/commitdiff
support objects in array_walk*()
authorAntony Dovgal <tony2001@php.net>
Tue, 19 Sep 2006 09:35:27 +0000 (09:35 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 19 Sep 2006 09:35:27 +0000 (09:35 +0000)
ext/standard/array.c
ext/standard/tests/array/array_walk.phpt
ext/standard/tests/array/array_walk_objects.phpt [new file with mode: 0644]
ext/standard/tests/array/array_walk_rec_objects.phpt [new file with mode: 0644]
ext/standard/tests/array/array_walk_recursive1.phpt

index b7bf6b45490f266a5078120175d241b7436aed25..9d986137d1cc1e8e8dba03eafd9707ef2fb20a11 100644 (file)
@@ -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);
index 7c0969eb96dd00017e2eac18d30860070db26778..a0e20983117ee1cf272e31795bf4b12a293f8718 100644 (file)
@@ -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 (file)
index 0000000..40d50b1
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 (file)
index 0000000..380d83e
Binary files /dev/null and b/ext/standard/tests/array/array_walk_rec_objects.phpt differ
index c3326581cece762c9a2f90804779db8c3ea5403a..8505b70e98d23c7a598dafc203e2ccc50d54f8ef 100644 (file)
@@ -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)