diff options
Diffstat (limited to 'ext/standard/tests/array/array_map_variation19.phpt')
-rw-r--r-- | ext/standard/tests/array/array_map_variation19.phpt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_map_variation19.phpt b/ext/standard/tests/array/array_map_variation19.phpt new file mode 100644 index 0000000..0e56428 --- /dev/null +++ b/ext/standard/tests/array/array_map_variation19.phpt @@ -0,0 +1,40 @@ +--TEST-- +Test array_map() function : usage variations - callback pass semantics +--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() with a pass-by-value callback forced to behave as a pass-by-reference function. + */ + +$arr1 = array('original.0', 'original.1'); +$arr2 = array('original.0', 'original.1'); + +function callback($a) { + $a = "changed"; +} + +array_map('callback', $arr1); +var_dump($arr1); + +$ref =& $arr2[0]; +array_map("callback", $arr2); +var_dump($arr2); +?> +--EXPECTF-- +array(2) { + [0]=> + string(10) "original.0" + [1]=> + string(10) "original.1" +} +array(2) { + [0]=> + &string(10) "original.0" + [1]=> + string(10) "original.1" +}
\ No newline at end of file |