(natcasesort, natsort, array_walk, array_walk_recursive, array_unique, array_key_exists)
- Changed HASH_OF() to Z_ARRVAL_P()
- Fixed bug #45937 (array_walk and array_walk_recursive can alter private/protected object variable)
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_key_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_key_compare, 0 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_key_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_key_compare, 0 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
static void php_natsort(INTERNAL_FUNCTION_PARAMETERS, int fold_case) /* {{{ */
{
zval *array;
- HashTable *target_hash;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &array) == FAILURE) {
- return;
- }
-
- target_hash = HASH_OF(array);
- if (!target_hash) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array");
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
if (fold_case) {
- if (zend_hash_sort(target_hash, zend_qsort, php_array_natural_case_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_natural_case_compare, 0 TSRMLS_CC) == FAILURE) {
return;
}
} else {
- if (zend_hash_sort(target_hash, zend_qsort, php_array_natural_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_natural_compare, 0 TSRMLS_CC) == FAILURE) {
return;
}
}
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_data_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_data_compare, 0 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_data_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_data_compare, 0 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_data_compare, 1 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_data_compare, 1 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
{
zval *array;
long sort_type = PHP_SORT_REGULAR;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) {
RETURN_FALSE;
}
-
- target_hash = HASH_OF(array);
php_set_compare_func(sort_type TSRMLS_CC);
- if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_data_compare, 1 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_data_compare, 1 TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
RETURN_TRUE;
PHP_FUNCTION(usort)
{
zval *array;
- HashTable *target_hash;
PHP_ARRAY_CMP_FUNC_VARS;
PHP_ARRAY_CMP_FUNC_BACKUP();
return;
}
- target_hash = HASH_OF(array);
-
- if (zend_hash_sort(target_hash, zend_qsort, php_array_user_compare, 1 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 1 TSRMLS_CC) == FAILURE) {
PHP_ARRAY_CMP_FUNC_RESTORE();
RETURN_FALSE;
}
PHP_FUNCTION(uasort)
{
zval *array;
- HashTable *target_hash;
PHP_ARRAY_CMP_FUNC_VARS;
PHP_ARRAY_CMP_FUNC_BACKUP();
return;
}
- target_hash = HASH_OF(array);
-
- if (zend_hash_sort(target_hash, zend_qsort, php_array_user_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 0 TSRMLS_CC) == FAILURE) {
PHP_ARRAY_CMP_FUNC_RESTORE();
RETURN_FALSE;
}
PHP_FUNCTION(uksort)
{
zval *array;
- HashTable *target_hash;
PHP_ARRAY_CMP_FUNC_VARS;
PHP_ARRAY_CMP_FUNC_BACKUP();
return;
}
- target_hash = HASH_OF(array);
-
- if (zend_hash_sort(target_hash, zend_qsort, php_array_user_key_compare, 0 TSRMLS_CC) == FAILURE) {
+ if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_key_compare, 0 TSRMLS_CC) == FAILURE) {
PHP_ARRAY_CMP_FUNC_RESTORE();
RETURN_FALSE;
PHP_FUNCTION(end)
{
zval *array, **entry;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- zend_hash_internal_pointer_end(target_hash);
+ zend_hash_internal_pointer_end(Z_ARRVAL_P(array));
if (return_value_used) {
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) {
RETURN_FALSE;
}
PHP_FUNCTION(prev)
{
zval *array, **entry;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- zend_hash_move_backwards(target_hash);
+ zend_hash_move_backwards(Z_ARRVAL_P(array));
if (return_value_used) {
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) {
RETURN_FALSE;
}
PHP_FUNCTION(next)
{
zval *array, **entry;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- zend_hash_move_forward(target_hash);
+ zend_hash_move_forward(Z_ARRVAL_P(array));
if (return_value_used) {
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) {
RETURN_FALSE;
}
PHP_FUNCTION(reset)
{
zval *array, **entry;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- zend_hash_internal_pointer_reset(target_hash);
+ zend_hash_internal_pointer_reset(Z_ARRVAL_P(array));
if (return_value_used) {
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) {
RETURN_FALSE;
}
PHP_FUNCTION(current)
{
zval *array, **entry;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) {
RETURN_FALSE;
}
RETURN_ZVAL(*entry, 1, 0);
zstr string_key;
uint string_length;
ulong num_key;
- HashTable *target_hash;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(array);
- switch (zend_hash_get_current_key_ex(target_hash, &string_key, &string_length, &num_key, 0, NULL)) {
+ switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &string_length, &num_key, 0, NULL)) {
case HASH_KEY_IS_STRING:
RETVAL_STRINGL(string_key.s, string_length - 1, 1);
break;
zend_fcall_info_cache orig_array_walk_fci_cache;
SEPARATE_ZVAL_IF_NOT_REF(args[0]);
- thash = HASH_OF(*(args[0]));
+ thash = Z_ARRVAL_PP(args[0]);
if (thash->nApplyCount > 1) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected");
return 0;
*userdata = NULL;
zend_fcall_info orig_array_walk_fci;
zend_fcall_info_cache orig_array_walk_fci_cache;
- HashTable *target_hash;
orig_array_walk_fci = BG(array_walk_fci);
orig_array_walk_fci_cache = BG(array_walk_fci_cache);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zf|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "af|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) {
BG(array_walk_fci) = orig_array_walk_fci;
BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
return;
}
- target_hash = HASH_OF(array);
- if (!target_hash) {
- BG(array_walk_fci) = orig_array_walk_fci;
- BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array");
- RETURN_FALSE;
- }
-
- php_array_walk(target_hash, userdata ? &userdata : NULL, 0 TSRMLS_CC);
+ php_array_walk(Z_ARRVAL_P(array), userdata ? &userdata : NULL, 0 TSRMLS_CC);
BG(array_walk_fci) = orig_array_walk_fci;
BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
RETURN_TRUE;
*userdata = NULL;
zend_fcall_info orig_array_walk_fci;
zend_fcall_info_cache orig_array_walk_fci_cache;
- HashTable *target_hash;
orig_array_walk_fci = BG(array_walk_fci);
orig_array_walk_fci_cache = BG(array_walk_fci_cache);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zf|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "af|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) {
BG(array_walk_fci) = orig_array_walk_fci;
BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
return;
}
- target_hash = HASH_OF(array);
- if (!target_hash) {
- BG(array_walk_fci) = orig_array_walk_fci;
- BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array");
- RETURN_FALSE;
- }
-
- php_array_walk(HASH_OF(array), userdata ? &userdata : NULL, 1 TSRMLS_CC);
+ php_array_walk(Z_ARRVAL_P(array), userdata ? &userdata : NULL, 1 TSRMLS_CC);
BG(array_walk_fci) = orig_array_walk_fci;
BG(array_walk_fci_cache) = orig_array_walk_fci_cache;
RETURN_TRUE;
*array, /* array to check in */
**entry, /* pointer to array entry */
res; /* comparison result */
- HashTable *target_hash; /* array hashtable */
HashPosition pos; /* hash iterator */
zend_bool strict = 0; /* strict comparison or not */
ulong num_key;
is_equal_func = is_identical_function;
}
- target_hash = HASH_OF(array);
- zend_hash_internal_pointer_reset_ex(target_hash, &pos);
- while (zend_hash_get_current_data_ex(target_hash, (void **)&entry, &pos) == SUCCESS) {
+ zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos);
+ while (zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **)&entry, &pos) == SUCCESS) {
is_equal_func(&res, value, *entry TSRMLS_CC);
if (Z_LVAL(res)) {
if (behavior == 0) {
RETURN_TRUE;
} else {
/* Return current key */
- switch (zend_hash_get_current_key_ex(target_hash, &string_key, &str_key_len, &num_key, 0, &pos)) {
+ switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &str_key_len, &num_key, 0, &pos)) {
case HASH_KEY_IS_STRING:
RETURN_STRINGL(string_key.s, str_key_len - 1, 1);
break;
}
}
}
- zend_hash_move_forward_ex(target_hash, &pos);
+ zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos);
}
RETURN_FALSE;
utype = IS_UNICODE;
ukey:
if (recursive && zend_u_hash_find(dest, utype, string_key, string_key_len, (void **)&dest_entry) == SUCCESS) {
- HashTable *thash = HASH_OF(*dest_entry);
+ HashTable *thash = Z_TYPE_PP(dest_entry) == IS_ARRAY ? Z_ARRVAL_PP(dest_entry) : NULL;
if ((thash && thash->nApplyCount > 1) || (*src_entry == *dest_entry && Z_ISREF_PP(dest_entry) && (Z_REFCOUNT_PP(dest_entry) % 2))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected");
static void php_array_merge_or_replace_wrapper(INTERNAL_FUNCTION_PARAMETERS, int recursive, int replace) /* {{{ */
{
zval ***args = NULL;
- int argc, i, params_ok = 1, init_size = 0;
+ int argc, i, init_size = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "+", &args, &argc) == FAILURE) {
return;
for (i = 0; i < argc; i++) {
if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1);
- params_ok = 0;
+ efree(args);
+ RETURN_NULL();
} else {
int num = zend_hash_num_elements(Z_ARRVAL_PP(args[i]));
}
}
}
- if (params_ok == 0) {
- efree(args);
- return;
- }
array_init_size(return_value, init_size);
PHP_FUNCTION(array_flip)
{
zval *array, **entry, *data;
- HashTable *target_hash;
zstr string_key;
uint str_key_len;
ulong num_key;
return;
}
- target_hash = HASH_OF(array);
- array_init_size(return_value, zend_hash_num_elements(target_hash));
+ array_init_size(return_value, zend_hash_num_elements(Z_ARRVAL_P(array)));
- zend_hash_internal_pointer_reset_ex(target_hash, &pos);
- while (zend_hash_get_current_data_ex(target_hash, (void **)&entry, &pos) == SUCCESS) {
+ zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos);
+ while (zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **)&entry, &pos) == SUCCESS) {
MAKE_STD_ZVAL(data);
- switch (zend_hash_get_current_key_ex(target_hash, &string_key, &str_key_len, &num_key, 1, &pos)) {
+ switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &str_key_len, &num_key, 1, &pos)) {
case HASH_KEY_IS_STRING:
ZVAL_STRINGL(data, string_key.s, str_key_len - 1, 0);
break;
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can only flip STRING and INTEGER values!");
}
- zend_hash_move_forward_ex(target_hash, &pos);
+ zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos);
}
}
/* }}} */
Removes duplicate values from array */
PHP_FUNCTION(array_unique)
{
- zval **array, *tmp;
- HashTable *target_hash;
+ zval *array, *tmp;
Bucket *p;
struct bucketindex {
Bucket *b;
struct bucketindex *arTmp, *cmpdata, *lastkept;
unsigned int i;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &array) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) {
return;
}
- target_hash = HASH_OF(*array);
- if (!target_hash) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array");
- RETURN_FALSE;
- }
-
- array_init_size(return_value, zend_hash_num_elements(target_hash));
- zend_hash_copy(Z_ARRVAL_P(return_value), target_hash, (copy_ctor_func_t) zval_add_ref, (void *)&tmp, sizeof(zval*));
+ array_init_size(return_value, zend_hash_num_elements(Z_ARRVAL_P(array)));
+ zend_hash_copy(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array), (copy_ctor_func_t) zval_add_ref, (void *)&tmp, sizeof(zval*));
- if (target_hash->nNumOfElements <= 1) { /* nothing to do */
+ if (Z_ARRVAL_P(array)->nNumOfElements <= 1) { /* nothing to do */
return;
}
/* create and sort array with pointers to the target_hash buckets */
- arTmp = (struct bucketindex *) pemalloc((target_hash->nNumOfElements + 1) * sizeof(struct bucketindex), target_hash->persistent);
+ arTmp = (struct bucketindex *) pemalloc((Z_ARRVAL_P(array)->nNumOfElements + 1) * sizeof(struct bucketindex), Z_ARRVAL_P(array)->persistent);
if (!arTmp) {
zval_dtor(return_value);
RETURN_FALSE;
}
- for (i = 0, p = target_hash->pListHead; p; i++, p = p->pListNext) {
+ for (i = 0, p = Z_ARRVAL_P(array)->pListHead; p; i++, p = p->pListNext) {
arTmp[i].b = p;
arTmp[i].i = i;
}
}
}
}
- pefree(arTmp, target_hash->persistent);
+ pefree(arTmp, Z_ARRVAL_P(array)->persistent);
}
/* }}} */
arr_argc = i; /* only free up to i - 1 */
goto out;
}
- hash = HASH_OF(*args[i]);
+ hash = Z_ARRVAL_PP(args[i]);
list = (Bucket **) pemalloc((hash->nNumOfElements + 1) * sizeof(Bucket *), hash->persistent);
if (!list) {
PHP_ARRAY_CMP_FUNC_RESTORE();
}
out:
for (i = 0; i < arr_argc; i++) {
- hash = HASH_OF(*args[i]);
+ hash = Z_ARRVAL_PP(args[i]);
pefree(lists[i], hash->persistent);
}
arr_argc = i; /* only free up to i - 1 */
goto out;
}
- hash = HASH_OF(*args[i]);
+ hash = Z_ARRVAL_PP(args[i]);
list = (Bucket **) pemalloc((hash->nNumOfElements + 1) * sizeof(Bucket *), hash->persistent);
if (!list) {
PHP_ARRAY_CMP_FUNC_RESTORE();
}
out:
for (i = 0; i < arr_argc; i++) {
- hash = HASH_OF(*args[i]);
+ hash = Z_ARRVAL_PP(args[i]);
pefree(lists[i], hash->persistent);
}
zval *key, /* key to check for */
*array; /* array to check in */
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &key, &array) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "za", &key, &array) == FAILURE) {
return;
}
- if (Z_TYPE_P(array) != IS_ARRAY && Z_TYPE_P(array) != IS_OBJECT) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The second argument should be either an array or an object");
- RETURN_FALSE;
- }
-
switch (Z_TYPE_P(key)) {
case IS_STRING:
case IS_UNICODE:
- if (zend_u_symtable_exists(HASH_OF(array), Z_TYPE_P(key), Z_UNIVAL_P(key), Z_UNILEN_P(key) + 1)) {
+ if (zend_u_symtable_exists(Z_ARRVAL_P(array), Z_TYPE_P(key), Z_UNIVAL_P(key), Z_UNILEN_P(key) + 1)) {
RETURN_TRUE;
}
RETURN_FALSE;
case IS_LONG:
- if (zend_hash_index_exists(HASH_OF(array), Z_LVAL_P(key))) {
+ if (zend_hash_index_exists(Z_ARRVAL_P(array), Z_LVAL_P(key))) {
RETURN_TRUE;
}
RETURN_FALSE;
case IS_NULL:
- if (zend_u_hash_exists(HASH_OF(array), (UG(unicode) ? IS_UNICODE : IS_STRING), EMPTY_ZSTR, 1)) {
+ if (zend_u_hash_exists(Z_ARRVAL_P(array), (UG(unicode) ? IS_UNICODE : IS_STRING), EMPTY_ZSTR, 1)) {
RETURN_TRUE;
}
RETURN_FALSE;
Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
bool(false)
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d
+NULL
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d
+NULL
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
Warning: array_key_exists() expects exactly 2 parameters, 3 given in %s on line %d
NULL
bool(false)
*** Testing operation on objects ***
-bool(false)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
bool(true)
-Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
Done
-- Do not assign a value to $class1->var3 --
$key = var1:
-bool(true)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$key = var3:
-bool(true)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$class1:
object(myClass)#%d (3) {
[u"var1"]=>
-- Assign a value to $class2->var3 --
$key = var3:
-bool(true)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$class2:
object(myClass)#%d (3) {
[u"var1"]=>
-- Do not assign a value to $class1->var3 --
$key = var1:
-bool(true)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$key = var2:
-bool(false)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$key = var3:
-bool(false)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$class1:
object(myClass)#1 (3) {
[u"var1"]=>
-- Assign a value to $class2->var3 --
$key = var3:
-bool(false)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
$class2:
object(myClass)#2 (3) {
[u"var1"]=>
-- Iteration 1 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d
+NULL
-- Iteration 2 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d
+NULL
-- Iteration 3 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d
+NULL
-- Iteration 4 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d
+NULL
-- Iteration 5 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
-- Iteration 6 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
-- Iteration 7 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
-- Iteration 8 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
-- Iteration 9 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d
+NULL
-- Iteration 10 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d
+NULL
-- Iteration 11 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d
+NULL
-- Iteration 12 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-- Iteration 13 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-- Iteration 14 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-- Iteration 15 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d
+NULL
-- Iteration 16 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 17 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 18 --
bool(false)
-- Iteration 19 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 20 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 21 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 22 --
-bool(false)
+
+Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d
+NULL
-- Iteration 23 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d
+NULL
-- Iteration 24 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d
+NULL
-- Iteration 25 --
-Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
-bool(false)
+Warning: array_key_exists() expects parameter 2 to be array, resource given in %s on line %d
+NULL
Done
NULL
Warning: array_merge(): Argument #1 is not an array in %s on line %d
-
-Warning: array_merge(): Argument #2 is not an array in %s on line %d
NULL
Warning: array_merge(): Argument #3 is not an array in %s on line %d
*** Testing array_unique() : Passing non array values to $input argument ***
-- Iteration 1 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 2 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 3 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 4 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 5 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 6 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 7 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 8 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 9 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 10 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 11 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 12 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 13 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 14 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 15 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 16 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 17 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 18 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 19 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 20 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 21 --
-array(0) {
-}
+
+Warning: array_unique() expects parameter 1 to be array, object given in %s on line %d
+NULL
-- Iteration 22 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 23 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 24 --
-Warning: array_unique(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_unique() expects parameter 1 to be array, resource given in %s on line %d
+NULL
Done
Warning: array_walk() expects at least 2 parameters, 0 given in %s on line %d
NULL
-Warning: array_walk() expects parameter 2 to be a valid callback, no array or string given in %s on line %d
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
NULL
Warning: array_walk() expects parameter 2 to be a valid callback, function '' not found or invalid function name in %s on line %d
Warning: array_walk_recursive() expects at least 2 parameters, 0 given in %s on line %d
NULL
-Warning: array_walk_recursive() expects parameter 2 to be a valid callback, no array or string given in %s on line %d
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
NULL
Warning: array_walk_recursive() expects parameter 2 to be a valid callback, function '' not found or invalid function name in %s on line %d
*** Testing array_walk_recursive() : unexpected values for 'input' argument ***
-- Iteration 1 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 2 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 3 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 4 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 5 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 6 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 7 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 8 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 9 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 10 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 11 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 12 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 13 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 14 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 15 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 16 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 17 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 18 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 19 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 20 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, resource given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, resource given in %s on line %d
+NULL
-- Iteration 21 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 22 --
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk_recursive(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d
+NULL
Done
*** Testing array_walk() : unexpected values for 'input' argument ***
-- Iteration 1 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 2 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 3 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 4 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d
+NULL
-- Iteration 5 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 6 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 7 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 8 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 9 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d
+NULL
-- Iteration 10 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 11 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 12 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 13 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 14 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 15 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d
+NULL
-- Iteration 16 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 17 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 18 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 19 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d
+NULL
-- Iteration 20 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, resource given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, resource given in %s on line %d
+NULL
-- Iteration 21 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-- Iteration 22 --
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
-Warning: array_walk(): The argument should be an array in %s on line %d
-bool(false)
+Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d
+NULL
Done
echo "Done\n";
?>
--EXPECTF--
-array(2) {
- [0]=>
- unicode(3) "foo"
- [1]=>
- unicode(3) "bar"
-}
+Warning: array_unique() expects parameter 1 to be array, object given in %s on line %d
+NULL
Done
-- Iteration 1 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d
NULL
-- Iteration 2 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d
NULL
-- Iteration 3 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d
NULL
-- Iteration 4 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d
NULL
-- Iteration 5 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d
NULL
-- Iteration 6 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d
NULL
-- Iteration 7 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d
NULL
-- Iteration 8 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d
NULL
-- Iteration 9 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d
NULL
-- Iteration 10 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d
NULL
-- Iteration 11 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d
NULL
-- Iteration 12 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d
NULL
-- Iteration 13 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d
NULL
-- Iteration 14 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d
NULL
-- Iteration 15 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d
NULL
-- Iteration 16 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d
NULL
-- Iteration 17 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d
NULL
-- Iteration 18 --
-- Iteration 19 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d
NULL
-- Iteration 20 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d
NULL
-- Iteration 21 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d
NULL
-- Iteration 22 --
-bool(true)
+
+Warning: natcasesort() expects parameter 1 to be array, object given in %s on line %d
+NULL
-- Iteration 23 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d
NULL
-- Iteration 24 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d
NULL
-- Iteration 25 --
-Warning: natcasesort(): The argument should be an array in %s on line %d
+Warning: natcasesort() expects parameter 1 to be array, resource given in %s on line %d
NULL
Done