Commit:    e921d28ae31e77965800c29454c4d426650126f0
Author:    Ben Ramsey <ram...@php.net>         Sat, 14 Apr 2012 08:23:51 -0500
Parents:   10da6f00b8d0fa573b3c44f685377a98a816af51
Branches:  PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=e921d28ae31e77965800c29454c4d426650126f0

Log:
array_column: Cleaning up, as recommended in pull request #56 comments

Bugs:
https://bugs.php.net/56

Changed paths:
  M  ext/standard/array.c


Diff:
diff --git a/ext/standard/array.c b/ext/standard/array.c
index c5d0fa7..b5d8275 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)) {


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to