2
Test of the *intersect* bunch of functions (both assoc and non-assoc)
5
error_reporting(E_ALL);
10
$this->priv_member = $val;
11
$this->public_member = $val;
13
static function comp_func_cr($a, $b) {
14
if ($a->priv_member === $b->priv_member) return 0;
15
return ($a->priv_member > $b->priv_member)? 1:-1;
19
function comp_func($a, $b) {
20
if ($a === $b) return 0;
21
return ($a > $b)? 1:-1;
25
function comp_func_cr($a, $b) {
26
if ($a->public_member === $b->public_member) return 0;
27
return ($a->public_member > $b->public_member)? 1:-1;
30
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
31
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr( 3), 1=> new cr(4), 2 => new cr(-15),);
33
/* array_intersect() */
34
echo "begin ------------ array_intersect() ----------------------------\n";
35
echo '$a='.var_export($a,TRUE).";\n";
36
echo '$b='.var_export($b,TRUE).";\n";
37
echo 'var_dump(array_intersect($a, $b);'."\n";
38
var_dump(@array_intersect($a, $b));
39
echo "end ------------ array_intersect() ----------------------------\n";
41
/* array_uintersect() */
42
echo "begin ------------ array_uintersect() ---------------------------\n";
43
echo '$a='.var_export($a,TRUE).";\n";
44
echo '$b='.var_export($b,TRUE).";\n";
45
echo 'var_dump(array_uintersect($a, $b, "comp_func_cr"));'."\n";
46
var_dump(array_uintersect($a, $b, "comp_func_cr"));
47
echo "end ------------ array_uintersect() ---------------------------\n";
49
/* array_intersect_assoc() */
50
echo "begin ------------ array_intersect_assoc() ----------------------\n";
51
echo '$a='.var_export($a,TRUE).";\n";
52
echo '$b='.var_export($b,TRUE).";\n";
53
echo 'var_dump(array_intersect_assoc($a, $b));'."\n";
54
var_dump(@array_intersect_assoc($a, $b));
55
echo "end ------------ array_intersect_assoc() ----------------------\n";
57
/* array_uintersect_assoc() */
58
echo "begin ------------ array_uintersect_assoc() ---------------------\n";
59
echo '$a='.var_export($a,TRUE).";\n";
60
echo '$b='.var_export($b,TRUE).";\n";
61
echo 'var_dump(array_uintersect_assoc($a, $b, "comp_func_cr"));'."\n";
62
var_dump(array_uintersect_assoc($a, $b, "comp_func_cr"));
63
echo "end ------------ array_uintersect_assoc() ---------------------\n";
65
/* array_intersect_uassoc() */
66
echo "begin ------------ array_intersect_uassoc() ---------------------\n";
67
echo '$a='.var_export($a,TRUE).";\n";
68
echo '$b='.var_export($b,TRUE).";\n";
69
echo 'var_dump(array_intersect_uassoc($a, $b, "comp_func"));'."\n";
70
var_dump(@array_intersect_uassoc($a, $b, "comp_func"));
71
echo "end ------------ array_intersect_uassoc() ---------------------\n";
73
/* array_uintersect_uassoc() - with ordinary function */
74
echo "begin ------------ array_uintersect_uassoc() with ordinary func -\n";
75
echo '$a='.var_export($a,TRUE).";\n";
76
echo '$b='.var_export($b,TRUE).";\n";
77
echo 'var_dump(array_uintersect_uassoc($a, $b, "comp_func_cr", "comp_func"));'."\n";
78
var_dump(array_uintersect_uassoc($a, $b, "comp_func_cr", "comp_func"));
79
echo "end ------------ array_uintersect_uassoc() with ordinary func -\n";
81
/* array_uintersect_uassoc() - by method call */
82
echo "begin ------------ array_uintersect_uassoc() with method --------\n";
83
echo '$a='.var_export($a,TRUE).";\n";
84
echo '$b='.var_export($b,TRUE).";\n";
85
echo 'var_dump(array_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));'."\n";
86
var_dump(array_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
87
echo "end ------------ array_uintersect_uassoc() with method --------\n";
90
begin ------------ array_intersect() ----------------------------
94
private $priv_member = 9;
95
public $public_member = 9;
99
private $priv_member = 12;
100
public $public_member = 12;
104
private $priv_member = 23;
105
public $public_member = 23;
109
private $priv_member = 4;
110
public $public_member = 4;
114
private $priv_member = -15;
115
public $public_member = -15;
121
private $priv_member = 9;
122
public $public_member = 9;
126
private $priv_member = 22;
127
public $public_member = 22;
131
private $priv_member = 3;
132
public $public_member = 3;
136
private $priv_member = 4;
137
public $public_member = 4;
141
private $priv_member = -15;
142
public $public_member = -15;
145
var_dump(array_intersect($a, $b);
148
end ------------ array_intersect() ----------------------------
149
begin ------------ array_uintersect() ---------------------------
153
private $priv_member = 9;
154
public $public_member = 9;
158
private $priv_member = 12;
159
public $public_member = 12;
163
private $priv_member = 23;
164
public $public_member = 23;
168
private $priv_member = 4;
169
public $public_member = 4;
173
private $priv_member = -15;
174
public $public_member = -15;
180
private $priv_member = 9;
181
public $public_member = 9;
185
private $priv_member = 22;
186
public $public_member = 22;
190
private $priv_member = 3;
191
public $public_member = 3;
195
private $priv_member = 4;
196
public $public_member = 4;
200
private $priv_member = -15;
201
public $public_member = -15;
204
var_dump(array_uintersect($a, $b, "comp_func_cr"));
208
["priv_member:private"]=>
215
["priv_member:private"]=>
222
["priv_member:private"]=>
228
end ------------ array_uintersect() ---------------------------
229
begin ------------ array_intersect_assoc() ----------------------
233
private $priv_member = 9;
234
public $public_member = 9;
238
private $priv_member = 12;
239
public $public_member = 12;
243
private $priv_member = 23;
244
public $public_member = 23;
248
private $priv_member = 4;
249
public $public_member = 4;
253
private $priv_member = -15;
254
public $public_member = -15;
260
private $priv_member = 9;
261
public $public_member = 9;
265
private $priv_member = 22;
266
public $public_member = 22;
270
private $priv_member = 3;
271
public $public_member = 3;
275
private $priv_member = 4;
276
public $public_member = 4;
280
private $priv_member = -15;
281
public $public_member = -15;
284
var_dump(array_intersect_assoc($a, $b));
287
end ------------ array_intersect_assoc() ----------------------
288
begin ------------ array_uintersect_assoc() ---------------------
292
private $priv_member = 9;
293
public $public_member = 9;
297
private $priv_member = 12;
298
public $public_member = 12;
302
private $priv_member = 23;
303
public $public_member = 23;
307
private $priv_member = 4;
308
public $public_member = 4;
312
private $priv_member = -15;
313
public $public_member = -15;
319
private $priv_member = 9;
320
public $public_member = 9;
324
private $priv_member = 22;
325
public $public_member = 22;
329
private $priv_member = 3;
330
public $public_member = 3;
334
private $priv_member = 4;
335
public $public_member = 4;
339
private $priv_member = -15;
340
public $public_member = -15;
343
var_dump(array_uintersect_assoc($a, $b, "comp_func_cr"));
347
["priv_member:private"]=>
354
["priv_member:private"]=>
360
end ------------ array_uintersect_assoc() ---------------------
361
begin ------------ array_intersect_uassoc() ---------------------
365
private $priv_member = 9;
366
public $public_member = 9;
370
private $priv_member = 12;
371
public $public_member = 12;
375
private $priv_member = 23;
376
public $public_member = 23;
380
private $priv_member = 4;
381
public $public_member = 4;
385
private $priv_member = -15;
386
public $public_member = -15;
392
private $priv_member = 9;
393
public $public_member = 9;
397
private $priv_member = 22;
398
public $public_member = 22;
402
private $priv_member = 3;
403
public $public_member = 3;
407
private $priv_member = 4;
408
public $public_member = 4;
412
private $priv_member = -15;
413
public $public_member = -15;
416
var_dump(array_intersect_uassoc($a, $b, "comp_func"));
419
end ------------ array_intersect_uassoc() ---------------------
420
begin ------------ array_uintersect_uassoc() with ordinary func -
424
private $priv_member = 9;
425
public $public_member = 9;
429
private $priv_member = 12;
430
public $public_member = 12;
434
private $priv_member = 23;
435
public $public_member = 23;
439
private $priv_member = 4;
440
public $public_member = 4;
444
private $priv_member = -15;
445
public $public_member = -15;
451
private $priv_member = 9;
452
public $public_member = 9;
456
private $priv_member = 22;
457
public $public_member = 22;
461
private $priv_member = 3;
462
public $public_member = 3;
466
private $priv_member = 4;
467
public $public_member = 4;
471
private $priv_member = -15;
472
public $public_member = -15;
475
var_dump(array_uintersect_uassoc($a, $b, "comp_func_cr", "comp_func"));
479
["priv_member:private"]=>
486
["priv_member:private"]=>
492
end ------------ array_uintersect_uassoc() with ordinary func -
493
begin ------------ array_uintersect_uassoc() with method --------
497
private $priv_member = 9;
498
public $public_member = 9;
502
private $priv_member = 12;
503
public $public_member = 12;
507
private $priv_member = 23;
508
public $public_member = 23;
512
private $priv_member = 4;
513
public $public_member = 4;
517
private $priv_member = -15;
518
public $public_member = -15;
524
private $priv_member = 9;
525
public $public_member = 9;
529
private $priv_member = 22;
530
public $public_member = 22;
534
private $priv_member = 3;
535
public $public_member = 3;
539
private $priv_member = 4;
540
public $public_member = 4;
544
private $priv_member = -15;
545
public $public_member = -15;
548
var_dump(array_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));
552
["priv_member:private"]=>
559
["priv_member:private"]=>
565
end ------------ array_uintersect_uassoc() with method --------