diff options
Diffstat (limited to 'ext/standard/tests/array/array_map_variation8.phpt')
-rw-r--r-- | ext/standard/tests/array/array_map_variation8.phpt | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_map_variation8.phpt b/ext/standard/tests/array/array_map_variation8.phpt new file mode 100644 index 0000000..5672e6c --- /dev/null +++ b/ext/standard/tests/array/array_map_variation8.phpt @@ -0,0 +1,81 @@ +--TEST-- +Test array_map() function : usage variations - array with references +--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 array having reference values for $arr1 argument + */ + +echo "*** Testing array_map() : array with references for 'arr1' argument ***\n"; + +function callback1($a) +{ + return ($a); +} + +function callback_cat($a, $b) +{ + return ($a . $b); +} + +// reference variables +$value1 = 10; +$value2 = "hello"; +$value3 = 0; +$value4 = &$value2; + +// array containing reference variables +$arr1 = array( + 0 => 0, + 1 => &$value4, + 2 => &$value2, + 3 => "hello", + 4 => &$value3, + $value4 => &$value2 +); +echo "-- with one array --\n"; +var_dump( array_map('callback1', $arr1) ); + +echo "-- with two arrays --\n"; +var_dump( array_map('callback_cat', $arr1, $arr1) ); + +echo "Done"; +?> +--EXPECTF-- +*** Testing array_map() : array with references for 'arr1' argument *** +-- with one array -- +array(6) { + [0]=> + int(0) + [1]=> + string(5) "hello" + [2]=> + string(5) "hello" + [3]=> + string(5) "hello" + [4]=> + int(0) + ["hello"]=> + string(5) "hello" +} +-- with two arrays -- +array(6) { + [0]=> + string(2) "00" + [1]=> + string(10) "hellohello" + [2]=> + string(10) "hellohello" + [3]=> + string(10) "hellohello" + [4]=> + string(2) "00" + [5]=> + string(10) "hellohello" +} +Done |