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