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