summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>1999-10-15 19:25:27 +0000
committerAndrei Zmievski <andrei@php.net>1999-10-15 19:25:27 +0000
commit738c36932a99c036df098f14e3c2fbe9baed74b9 (patch)
tree95ce8da59cfa056d8e2659263073b84467b1c5f2
parentc5149f12b60508966b20e13e10e9bc9b0031a058 (diff)
downloadphp-git-738c36932a99c036df098f14e3c2fbe9baed74b9.tar.gz
@- Fixed shuffle() so that it no longer breaks on Solaris. (Andrei)
-rw-r--r--ext/standard/basic_functions.c19
-rw-r--r--ext/standard/basic_functions.h1
2 files changed, 19 insertions, 1 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 978512bd8b..3c4cd3122c 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -335,6 +335,7 @@ function_entry basic_functions[] = {
PHP_FE(array_values, NULL)
PHP_FE(array_count_values, NULL)
PHP_FE(array_reverse, NULL)
+ PHP_FE(array_map, NULL)
PHP_FE(connection_aborted, NULL)
PHP_FE(connection_timeout, NULL)
@@ -2457,7 +2458,7 @@ PHP_FUNCTION(shuffle)
php_error(E_WARNING, "Wrong datatype in shuffle() call");
return;
}
- if (zend_hash_sort((*array)->value.ht, qsort, array_data_shuffle, 1) == FAILURE) {
+ if (zend_hash_sort((*array)->value.ht, mergesort, array_data_shuffle, 1) == FAILURE) {
return;
}
RETURN_TRUE;
@@ -3141,6 +3142,22 @@ PHP_FUNCTION(array_reverse)
}
/* }}} */
+/* {{{ 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;
+
+ argc = ARG_COUNT(ht);
+
+ if (argc < 2 || argc > 3 || getParametersEx(ht, &input, &value_exp, &key_exp) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+}
+
+
/*
* Local variables:
* tab-width: 4
diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h
index 3b266a99e0..78a499d2fb 100644
--- a/ext/standard/basic_functions.h
+++ b/ext/standard/basic_functions.h
@@ -137,6 +137,7 @@ PHP_FUNCTION(array_keys);
PHP_FUNCTION(array_values);
PHP_FUNCTION(array_count_values);
PHP_FUNCTION(array_reverse);
+PHP_FUNCTION(array_map);
#if HAVE_PUTENV
typedef struct {