1--TEST--
2Test array_change_key_case() function : usage variations - Different strings as keys
3--FILE--
4<?php
5/* Prototype  : array array_change_key_case(array $input [, int $case])
6 * Description: Retuns an array with all string keys lowercased [or uppercased]
7 * Source code: ext/standard/array.c
8 */
9
10/*
11 * Test how array_change_key_case() behaves with different strings
12 */
13
14echo "*** Testing array_change_key_case() : usage variations ***\n";
15
16$inputs = array (
17	// group of escape sequences
18	array(null => 1, NULL => 2, "\a" => 3, "\cx" => 4, "\e" => 5, "\f" => 6, "\n" => 7, "\t" => 8, "\xhh" => 9, "\ddd" => 10, "\v" => 11),
19
20	// array contains combination of capital/small letters
21	array("lemoN" => 1, "Orange" => 2, "banana" => 3, "apple" => 4, "Test" => 5, "TTTT" => 6, "ttt" => 7, "ww" => 8, "x" => 9, "X" => 10, "oraNGe" => 11, "BANANA" => 12)
22);
23
24foreach($inputs as $input) {
25	echo "\n-- \$case = default --\n";
26	var_dump(array_change_key_case($input));
27	echo "-- \$case = upper --\n";
28	var_dump(array_change_key_case($input, CASE_UPPER));
29}
30
31echo "Done";
32?>
33--EXPECT--
34*** Testing array_change_key_case() : usage variations ***
35
36-- $case = default --
37array(10) {
38  [""]=>
39  int(2)
40  ["\a"]=>
41  int(3)
42  ["\cx"]=>
43  int(4)
44  [""]=>
45  int(5)
46  [""]=>
47  int(6)
48  ["
49"]=>
50  int(7)
51  ["	"]=>
52  int(8)
53  ["\xhh"]=>
54  int(9)
55  ["\ddd"]=>
56  int(10)
57  [""]=>
58  int(11)
59}
60-- $case = upper --
61array(10) {
62  [""]=>
63  int(2)
64  ["\A"]=>
65  int(3)
66  ["\CX"]=>
67  int(4)
68  [""]=>
69  int(5)
70  [""]=>
71  int(6)
72  ["
73"]=>
74  int(7)
75  ["	"]=>
76  int(8)
77  ["\XHH"]=>
78  int(9)
79  ["\DDD"]=>
80  int(10)
81  [""]=>
82  int(11)
83}
84
85-- $case = default --
86array(9) {
87  ["lemon"]=>
88  int(1)
89  ["orange"]=>
90  int(11)
91  ["banana"]=>
92  int(12)
93  ["apple"]=>
94  int(4)
95  ["test"]=>
96  int(5)
97  ["tttt"]=>
98  int(6)
99  ["ttt"]=>
100  int(7)
101  ["ww"]=>
102  int(8)
103  ["x"]=>
104  int(10)
105}
106-- $case = upper --
107array(9) {
108  ["LEMON"]=>
109  int(1)
110  ["ORANGE"]=>
111  int(11)
112  ["BANANA"]=>
113  int(12)
114  ["APPLE"]=>
115  int(4)
116  ["TEST"]=>
117  int(5)
118  ["TTTT"]=>
119  int(6)
120  ["TTT"]=>
121  int(7)
122  ["WW"]=>
123  int(8)
124  ["X"]=>
125  int(10)
126}
127Done
128