Annotation of embedaddon/php/ext/standard/tests/array/array_change_key_case_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_change_key_case() function : usage variations - different data types 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: * Pass arrays with different data types as keys to array_change_key_case()
12: * to test conversion
13: */
14:
15: echo "*** Testing array_change_key_case() : usage variations ***\n";
16:
17: //get an unset variable
18: $unset_var = 10;
19: unset ($unset_var);
20:
21: // heredoc string
22: $heredoc = <<<EOT
23: hello world
24: EOT;
25:
26: // arrays of different data types to be passed to $input argument
27: $inputs = array(
28:
29: // int data
30: /*1*/ 'int' => array(
31: 0 => 'zero',
32: 1 => 'one',
33: 12345 => 'positive',
34: -2345 => 'negative',
35: ),
36:
37: // float data
38: /*2*/ 'float' => array(
39: 10.5 => 'positive',
40: -10.5 => 'negative',
41: .5 => 'half',
42: ),
43:
44: 'extreme floats' => array(
45: 12.3456789000e6 => 'large',
46: 12.3456789000E-10 => 'small',
47: ),
48:
49: // null data
50: /*3*/ 'null uppercase' => array(
51: NULL => 'null 1',
52: ),
53: 'null lowercase' => array(
54: null => 'null 2',
55: ),
56:
57: // boolean data
58: /*4*/ 'bool lowercase' => array(
59: true => 'lowert',
60: false => 'lowerf',
61: ),
62: 'bool uppercase' => array(
63: TRUE => 'uppert',
64: FALSE => 'upperf',
65: ),
66:
67: // empty data
68: /*5*/ 'empty double quotes' => array(
69: "" => 'emptyd',
70: ),
71: 'empty single quotes' => array(
72: '' => 'emptys',
73: ),
74:
75: // string data
76: /*6*/ 'string' => array(
77: "stringd" => 'stringd',
78: 'strings' => 'strings',
79: $heredoc => 'stringh',
80: ),
81:
82: // undefined data
83: /*8*/ 'undefined' => array(
84: @$undefined_var => 'undefined',
85: ),
86:
87: // unset data
88: /*9*/ 'unset' => array(
89: @$unset_var => 'unset',
90: ),
91: );
92:
93: // loop through each sub-array of $inputs to check the behavior of array_change_key_case()
94: $iterator = 1;
95: foreach($inputs as $key => $input) {
96: echo "\n-- Iteration $iterator : $key data --\n";
97: var_dump( array_change_key_case($input, CASE_UPPER) );
98: $iterator++;
99: };
100:
101: echo "Done";
102: ?>
103: --EXPECTF--
104: *** Testing array_change_key_case() : usage variations ***
105:
106: -- Iteration 1 : int data --
107: array(4) {
108: [0]=>
109: string(4) "zero"
110: [1]=>
111: string(3) "one"
112: [12345]=>
113: string(8) "positive"
114: [-2345]=>
115: string(8) "negative"
116: }
117:
118: -- Iteration 2 : float data --
119: array(3) {
120: [10]=>
121: string(8) "positive"
122: [-10]=>
123: string(8) "negative"
124: [0]=>
125: string(4) "half"
126: }
127:
128: -- Iteration 3 : extreme floats data --
129: array(2) {
130: [12345678]=>
131: string(5) "large"
132: [0]=>
133: string(5) "small"
134: }
135:
136: -- Iteration 4 : null uppercase data --
137: array(1) {
138: [""]=>
139: string(6) "null 1"
140: }
141:
142: -- Iteration 5 : null lowercase data --
143: array(1) {
144: [""]=>
145: string(6) "null 2"
146: }
147:
148: -- Iteration 6 : bool lowercase data --
149: array(2) {
150: [1]=>
151: string(6) "lowert"
152: [0]=>
153: string(6) "lowerf"
154: }
155:
156: -- Iteration 7 : bool uppercase data --
157: array(2) {
158: [1]=>
159: string(6) "uppert"
160: [0]=>
161: string(6) "upperf"
162: }
163:
164: -- Iteration 8 : empty double quotes data --
165: array(1) {
166: [""]=>
167: string(6) "emptyd"
168: }
169:
170: -- Iteration 9 : empty single quotes data --
171: array(1) {
172: [""]=>
173: string(6) "emptys"
174: }
175:
176: -- Iteration 10 : string data --
177: array(3) {
178: ["STRINGD"]=>
179: string(7) "stringd"
180: ["STRINGS"]=>
181: string(7) "strings"
182: ["HELLO WORLD"]=>
183: string(7) "stringh"
184: }
185:
186: -- Iteration 11 : undefined data --
187: array(1) {
188: [""]=>
189: string(9) "undefined"
190: }
191:
192: -- Iteration 12 : unset data --
193: array(1) {
194: [""]=>
195: string(5) "unset"
196: }
197: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>