diff options
| author | Ben Ramsey <ramsey@php.net> | 2012-04-14 08:23:51 -0500 |
|---|---|---|
| committer | Ben Ramsey <ramsey@php.net> | 2013-01-11 14:16:19 -0600 |
| commit | e921d28ae31e77965800c29454c4d426650126f0 (patch) | |
| tree | 3480fae3dd084845316736a0e22639dc5e2c66c0 /ext/standard/array.c | |
| parent | 10da6f00b8d0fa573b3c44f685377a98a816af51 (diff) | |
| download | php-git-e921d28ae31e77965800c29454c4d426650126f0.tar.gz | |
array_column: Cleaning up, as recommended in pull request #56 comments
Diffstat (limited to 'ext/standard/array.c')
| -rw-r--r-- | ext/standard/array.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index c5d0fa7747..b5d8275de7 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2578,19 +2578,11 @@ PHP_FUNCTION(array_column) return; } - arr_hash = Z_ARRVAL_P(zarray); - array_init(return_value); - switch (Z_TYPE_P(zoffset)) { case IS_NULL: index = 0; break; - case IS_DOUBLE: - index = (long)Z_DVAL_P(zoffset); - break; - case IS_BOOL: case IS_LONG: - case IS_RESOURCE: index = Z_LVAL_P(zoffset); break; case IS_STRING: @@ -2599,9 +2591,12 @@ PHP_FUNCTION(array_column) break; default: php_error_docref(NULL TSRMLS_CC, E_WARNING, "The key should be either a string or an integer"); - return; + RETURN_FALSE; } + arr_hash = Z_ARRVAL_P(zarray); + array_init(return_value); + for (zend_hash_internal_pointer_reset_ex(arr_hash, &pointer); zend_hash_get_current_data_ex(arr_hash, (void**)&data, &pointer) == SUCCESS; zend_hash_move_forward_ex(arr_hash, &pointer)) { |
