Annotation of embedaddon/php/ext/standard/tests/array/array_diff_ukey_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_diff_ukey() function : usage variation - Passing unexpected values to callback argument
3: --FILE--
4: <?php
5: /* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
6: * Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
7: * Source code: ext/standard/array.c
8: */
9:
10: echo "*** Testing array_diff_ukey() : usage variation ***\n";
11:
12: // Initialise function arguments not being substituted (if any)
13: $array1 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
14: $array2 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
15: $array3 = array(1, 2, 3, 4, 5);
16:
17: //get an unset variable
18: $unset_var = 10;
19: unset ($unset_var);
20:
21: //resource variable
22: $fp = fopen(__FILE__, "r");
23:
24: // define some classes
25: class classWithToString
26: {
27: public function __toString() {
28: return "Class A object";
29: }
30: }
31:
32: class classWithoutToString
33: {
34: }
35:
36: // heredoc string
37: $heredoc = <<<EOT
38: hello world
39: EOT;
40:
41: //array of values to iterate over
42: $inputs = array(
43:
44: // int data
45: 'int 0' => 0,
46: 'int 1' => 1,
47: 'int 12345' => 12345,
48: 'int -12345' => -12345,
49:
50: // float data
51: 'float 10.5' => 10.5,
52: 'float -10.5' => -10.5,
53: 'float 12.3456789000e10' => 12.3456789000e10,
54: 'float -12.3456789000e10' => -12.3456789000e10,
55: 'float .5' => .5,
56:
57: // null data
58: 'uppercase NULL' => NULL,
59: 'lowercase null' => null,
60:
61: // boolean data
62: 'lowercase true' => true,
63: 'lowercase false' =>false,
64: 'uppercase TRUE' =>TRUE,
65: 'uppercase FALSE' =>FALSE,
66:
67: // object data
68: 'instance of classWithToString' => new classWithToString(),
69: 'instance of classWithoutToString' => new classWithoutToString(),
70:
71: // undefined data
72: 'undefined var' => @$undefined_var,
73:
74: // unset data
75: 'unset var' => @$unset_var,
76:
77: // resource data
78: 'resource' => $fp,
79: );
80:
81: // loop through each element of the array for ...
82:
83: foreach($inputs as $key =>$value) {
84: echo "\n--$key--\n";
85: var_dump( array_diff_ukey($array1, $array2, $value) );
86: var_dump( array_diff_ukey($array1, $array2, $array3, $value) );
87: };
88:
89: fclose($fp);
90: ?>
91: ===DONE===
92: --EXPECTF--
93: *** Testing array_diff_ukey() : usage variation ***
94:
95: --int 0--
96:
97: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
98: NULL
99:
100: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
101: NULL
102:
103: --int 1--
104:
105: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
106: NULL
107:
108: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
109: NULL
110:
111: --int 12345--
112:
113: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
114: NULL
115:
116: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
117: NULL
118:
119: --int -12345--
120:
121: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
122: NULL
123:
124: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
125: NULL
126:
127: --float 10.5--
128:
129: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
130: NULL
131:
132: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
133: NULL
134:
135: --float -10.5--
136:
137: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
138: NULL
139:
140: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
141: NULL
142:
143: --float 12.3456789000e10--
144:
145: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
146: NULL
147:
148: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
149: NULL
150:
151: --float -12.3456789000e10--
152:
153: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
154: NULL
155:
156: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
157: NULL
158:
159: --float .5--
160:
161: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
162: NULL
163:
164: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
165: NULL
166:
167: --uppercase NULL--
168:
169: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
170: NULL
171:
172: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
173: NULL
174:
175: --lowercase null--
176:
177: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
178: NULL
179:
180: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
181: NULL
182:
183: --lowercase true--
184:
185: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
186: NULL
187:
188: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
189: NULL
190:
191: --lowercase false--
192:
193: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
194: NULL
195:
196: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
197: NULL
198:
199: --uppercase TRUE--
200:
201: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
202: NULL
203:
204: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
205: NULL
206:
207: --uppercase FALSE--
208:
209: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
210: NULL
211:
212: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
213: NULL
214:
215: --instance of classWithToString--
216:
217: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
218: NULL
219:
220: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
221: NULL
222:
223: --instance of classWithoutToString--
224:
225: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
226: NULL
227:
228: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
229: NULL
230:
231: --undefined var--
232:
233: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
234: NULL
235:
236: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
237: NULL
238:
239: --unset var--
240:
241: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
242: NULL
243:
244: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
245: NULL
246:
247: --resource--
248:
249: Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
250: NULL
251:
252: Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
253: NULL
254: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>