Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--TEST--
2
Function -- array_udiff_uassoc
3
--SKIPIF--
4
<?php if (function_exists('array_udiff_uassoc')) { echo 'skip'; } ?>
5
--FILE--
6
<?php
7
require_once 'PHP/Compat.php';
8
PHP_Compat::loadFunction('array_udiff_uassoc');
9
 
10
class cr
11
{
12
    var $val;
13
 
14
    function cr($val)
15
    {
16
        $this->val = $val;
17
    }
18
 
19
    function comp_func_cr($a, $b)
20
    {
21
        if ($a->val === $b->val) return 0;
22
        return ($a->val > $b->val) ? 1 : -1;
23
    }
24
 
25
    function comp_func_key($a, $b)
26
    {
27
        if ($a === $b) return 0;
28
        return ($a > $b) ? 1 : -1;
29
    }
30
}
31
 
32
$a = array('0.1' => new cr(9), '0.5' => new cr(12), 0 => new cr(23), 1 => new cr(4), 2 => new cr(-15));
33
$b = array('0.2' => new cr(9), '0.5' => new cr(22), 0 => new cr(3), 1 => new cr(4), 2 => new cr(-15));
34
 
35
$result = array_udiff_uassoc($a, $b, array('cr', 'comp_func_cr'), array('cr', 'comp_func_key'));
36
print_r($result);
37
?>
38
--EXPECT--
39
Array
40
(
41
    [0.1] => cr Object
42
        (
43
            [val] => 9
44
        )
45
 
46
    [0.5] => cr Object
47
        (
48
            [val] => 12
49
        )
50
 
51
    [0] => cr Object
52
        (
53
            [val] => 23
54
        )
55
 
56
)