mirror of
https://github.com/php/php-src.git
synced 2025-01-08 20:17:28 +08:00
126 lines
2.3 KiB
PHP
126 lines
2.3 KiB
PHP
--TEST--
|
|
Test array_map() function : usage variations - null value for 'callback' argument
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : array array_map ( callback $callback , array $arr1 [, array $... ] )
|
|
* Description: Applies the callback to the elements of the given arrays
|
|
* Source code: ext/standard/array.c
|
|
*/
|
|
|
|
/*
|
|
* Test array_map() by passing null values for $callback argument and testing whether shortest
|
|
* array will be extended with empty elements
|
|
*/
|
|
|
|
echo "*** Testing array_map() : null value for 'callback' argument ***\n";
|
|
|
|
// arrays to be passed as arguments
|
|
$arr1 = array(1, 2);
|
|
$arr2 = array("one", "two");
|
|
$arr3 = array(1.1, 2.2);
|
|
|
|
// get an unset variable
|
|
$unset_var = 10;
|
|
unset ($unset_var);
|
|
|
|
/* calling array_map() with null callback */
|
|
|
|
echo "-- with null --\n";
|
|
var_dump( array_map(null, $arr1, $arr2, $arr3) );
|
|
var_dump( array_map(NULL, $arr1, $arr2, $arr3) );
|
|
|
|
echo "-- with unset variable --\n";
|
|
var_dump( array_map(@$unset_var, $arr1, $arr2, $arr3) );
|
|
|
|
echo "-- with undefined variable --\n";
|
|
var_dump( array_map(@$undefined_var, $arr1) );
|
|
|
|
echo "-- with empty string --\n";
|
|
var_dump( array_map("", $arr1, $arr2) );
|
|
|
|
echo "-- with empty array --\n";
|
|
var_dump( array_map(array(), $arr1, $arr2) );
|
|
|
|
echo "Done";
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing array_map() : null value for 'callback' argument ***
|
|
-- with null --
|
|
array(2) {
|
|
[0]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
string(3) "one"
|
|
[2]=>
|
|
float(1.1)
|
|
}
|
|
[1]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(2)
|
|
[1]=>
|
|
string(3) "two"
|
|
[2]=>
|
|
float(2.2)
|
|
}
|
|
}
|
|
array(2) {
|
|
[0]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
string(3) "one"
|
|
[2]=>
|
|
float(1.1)
|
|
}
|
|
[1]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(2)
|
|
[1]=>
|
|
string(3) "two"
|
|
[2]=>
|
|
float(2.2)
|
|
}
|
|
}
|
|
-- with unset variable --
|
|
array(2) {
|
|
[0]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
string(3) "one"
|
|
[2]=>
|
|
float(1.1)
|
|
}
|
|
[1]=>
|
|
array(3) {
|
|
[0]=>
|
|
int(2)
|
|
[1]=>
|
|
string(3) "two"
|
|
[2]=>
|
|
float(2.2)
|
|
}
|
|
}
|
|
-- with undefined variable --
|
|
array(2) {
|
|
[0]=>
|
|
int(1)
|
|
[1]=>
|
|
int(2)
|
|
}
|
|
-- with empty string --
|
|
|
|
Warning: array_map() expects parameter 1 to be a valid callback, function '' not found or invalid function name in %s on line %d
|
|
NULL
|
|
-- with empty array --
|
|
|
|
Warning: array_map() expects parameter 1 to be a valid callback, array must have exactly two members in %s on line %d
|
|
NULL
|
|
Done
|