Annotation of embedaddon/php/ext/standard/tests/array/array_flip_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_flip() function : usage variations - 'input' argument with repeatitive keys and values
3: --FILE--
4: <?php
5: /* Prototype : array array_flip(array $input)
6: * Description: Return array with key <-> value flipped
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Using different types of repeatitive keys as well as values for 'input' array
12: */
13:
14: echo "*** Testing array_flip() : 'input' array with repeatitive keys/values ***\n";
15:
16: // array with numeric key repeatition
17: $input = array(1 => 'value', 2 => 'VALUE', 1 => "VaLuE", 3.4 => 4, 3.4 => 5);
18: var_dump( array_flip($input) );
19:
20: // array with string key repeatition
21: $input = array("key" => 1, "two" => 'TWO', 'three' => 3, 'key' => "FOUR");
22: var_dump( array_flip($input) );
23:
24: // array with bool key repeatition
25: $input = array(true => 1, false => 0, TRUE => -1);
26: var_dump( array_flip($input) );
27:
28: // array with null key repeatition
29: $input = array(null => "Hello", NULL => 0);
30: var_dump( array_flip($input) );
31:
32: // array with numeric value repeatition
33: $input = array('one' => 1, 'two' => 2, 3 => 1, "index" => 1);
34: var_dump( array_flip($input) );
35:
36: //array with string value repeatition
37: $input = array('key1' => "value1", "key2" => '2', 'key3' => 'value1');
38: var_dump( array_flip($input) );
39:
40: echo "Done"
41: ?>
42: --EXPECTF--
43: *** Testing array_flip() : 'input' array with repeatitive keys/values ***
44: array(3) {
45: ["VaLuE"]=>
46: int(1)
47: ["VALUE"]=>
48: int(2)
49: [5]=>
50: int(3)
51: }
52: array(3) {
53: ["FOUR"]=>
54: string(3) "key"
55: ["TWO"]=>
56: string(3) "two"
57: [3]=>
58: string(5) "three"
59: }
60: array(2) {
61: [-1]=>
62: int(1)
63: [0]=>
64: int(0)
65: }
66: array(1) {
67: [0]=>
68: string(0) ""
69: }
70: array(2) {
71: [1]=>
72: string(5) "index"
73: [2]=>
74: string(3) "two"
75: }
76: array(2) {
77: ["value1"]=>
78: string(4) "key3"
79: [2]=>
80: string(4) "key2"
81: }
82: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>