summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/basic_functions.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 7385daaf5d..34033711d4 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -2458,7 +2458,7 @@ PHP_FUNCTION(shuffle)
php_error(E_WARNING, "Wrong datatype in shuffle() call");
return;
}
- if (zend_hash_sort((*array)->value.ht, mergesort, array_data_shuffle, 1) == FAILURE) {
+ if (zend_hash_sort((*array)->value.ht, (sort_func_t)mergesort, array_data_shuffle, 1) == FAILURE) {
return;
}
RETURN_TRUE;
@@ -3142,13 +3142,16 @@ PHP_FUNCTION(array_reverse)
}
/* }}} */
+
+#if 0
/* {{{ proto array array_map(array input, string value_exp [, string key_exp] */
PHP_FUNCTION(array_map)
{
- zval **input;
- zval **value_exp;
- zval **key_exp = NULL;
- int argc;
+ zval** input;
+ zval** value_exp;
+ zval** key_exp = NULL;
+ zval** entry;
+ int argc;
argc = ARG_COUNT(ht);
@@ -3157,11 +3160,23 @@ PHP_FUNCTION(array_map)
}
if ((*input)->type != IS_ARRAY) {
- php_error(E_WARNING, "First argument to %s should be an array",
+ php_error(E_WARNING, "First argument to %s() should be an array",
get_active_function_name());
+ return;
}
+
+ convert_to_string_ex(value_exp);
+ if (key_exp)
+ convert_to_string_ex(key_exp);
+
+ zend_hash_internal_pointer_reset((*input)->value.ht);
+ while(zend_hash_get_current_data((*input)->value.ht, (void **)&entry) == SUCCESS) {
+
+
+ zend_hash_move_forward((*input)->value.ht);
+ }
}
-
+#endif
/*
* Local variables: