diff options
author | Nikita Popov <nikic@php.net> | 2014-10-16 14:44:35 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2014-10-16 14:44:35 +0200 |
commit | fc6ce7d1c1852385b35b3a41feb4c47d9e1ce945 (patch) | |
tree | fd9921e8b6cc0d7f5b18876ab0c478c0a7ca54e3 | |
parent | cf5920e8aa8958d47f391c483d7399fc77a58092 (diff) | |
download | php-git-fc6ce7d1c1852385b35b3a41feb4c47d9e1ce945.tar.gz |
Fix array_keys() on $GLOBALS
-rw-r--r-- | ext/standard/array.c | 2 | ||||
-rw-r--r-- | ext/standard/tests/array/array_keys_on_GLOBALS.phpt | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index 7b49b2fd13..7d8e4d0efe 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2597,7 +2597,7 @@ PHP_FUNCTION(array_keys) add_key = 1; /* Go through input array and add keys to the return array */ - ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(input), num_idx, str_idx, entry) { + ZEND_HASH_FOREACH_KEY_VAL_IND(Z_ARRVAL_P(input), num_idx, str_idx, entry) { if (search_value != NULL) { is_equal_func(&res, search_value, entry TSRMLS_CC); add_key = zval_is_true(&res); diff --git a/ext/standard/tests/array/array_keys_on_GLOBALS.phpt b/ext/standard/tests/array/array_keys_on_GLOBALS.phpt new file mode 100644 index 0000000000..1d14ff4d53 --- /dev/null +++ b/ext/standard/tests/array/array_keys_on_GLOBALS.phpt @@ -0,0 +1,12 @@ +--TEST-- +Using array_keys() on $GLOBALS +--FILE-- +<?php + +$foo = 'bar'; +unset($foo); +var_dump(in_array('foo', array_keys($GLOBALS))); + +?> +--EXPECT-- +bool(false) |