Annotation of embedaddon/php/ext/standard/tests/array/array_map_variation8.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_map() function : usage variations - array with references
3: --FILE--
4: <?php
5: /* Prototype : array array_map ( callback $callback , array $arr1 [, array $... ] )
6: * Description: Applies the callback to the elements of the given arrays
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test array_map() by passing array having reference values for $arr1 argument
12: */
13:
14: echo "*** Testing array_map() : array with references for 'arr1' argument ***\n";
15:
16: function callback1($a)
17: {
18: return ($a);
19: }
20:
21: function callback_cat($a, $b)
22: {
23: return ($a . $b);
24: }
25:
26: // reference variables
27: $value1 = 10;
28: $value2 = "hello";
29: $value3 = 0;
30: $value4 = &$value2;
31:
32: // array containing reference variables
33: $arr1 = array(
34: 0 => 0,
35: 1 => &$value4,
36: 2 => &$value2,
37: 3 => "hello",
38: 4 => &$value3,
39: $value4 => &$value2
40: );
41: echo "-- with one array --\n";
42: var_dump( array_map('callback1', $arr1) );
43:
44: echo "-- with two arrays --\n";
45: var_dump( array_map('callback_cat', $arr1, $arr1) );
46:
47: echo "Done";
48: ?>
49: --EXPECTF--
50: *** Testing array_map() : array with references for 'arr1' argument ***
51: -- with one array --
52: array(6) {
53: [0]=>
54: int(0)
55: [1]=>
56: string(5) "hello"
57: [2]=>
58: string(5) "hello"
59: [3]=>
60: string(5) "hello"
61: [4]=>
62: int(0)
63: ["hello"]=>
64: string(5) "hello"
65: }
66: -- with two arrays --
67: array(6) {
68: [0]=>
69: string(2) "00"
70: [1]=>
71: string(10) "hellohello"
72: [2]=>
73: string(10) "hellohello"
74: [3]=>
75: string(10) "hellohello"
76: [4]=>
77: string(2) "00"
78: [5]=>
79: string(10) "hellohello"
80: }
81: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>