Current File : //opt/RZphp5/includes/test/PHP_Compat/tests/function/array_udiff_uassoc.phpt |
--TEST--
Function -- array_udiff_uassoc
--SKIPIF--
<?php if (function_exists('array_udiff_uassoc')) { echo 'skip'; } ?>
--FILE--
<?php
require_once 'PHP/Compat.php';
PHP_Compat::loadFunction('array_udiff_uassoc');
class cr
{
var $val;
function cr($val)
{
$this->val = $val;
}
function comp_func_cr($a, $b)
{
if ($a->val === $b->val) return 0;
return ($a->val > $b->val) ? 1 : -1;
}
function comp_func_key($a, $b)
{
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
}
$a = array('0.1' => new cr(9), '0.5' => new cr(12), 0 => new cr(23), 1 => new cr(4), 2 => new cr(-15));
$b = array('0.2' => new cr(9), '0.5' => new cr(22), 0 => new cr(3), 1 => new cr(4), 2 => new cr(-15));
$result = array_udiff_uassoc($a, $b, array('cr', 'comp_func_cr'), array('cr', 'comp_func_key'));
print_r($result);
?>
--EXPECT--
Array
(
[0.1] => cr Object
(
[val] => 9
)
[0.5] => cr Object
(
[val] => 12
)
[0] => cr Object
(
[val] => 23
)
)