summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/array_uintersect_uassoc_basic.phpt
diff options
context:
space:
mode:
authorRobert Nicholson <nicholsr@php.net>2008-01-25 00:13:49 +0000
committerRobert Nicholson <nicholsr@php.net>2008-01-25 00:13:49 +0000
commit3b8256dce49b59ff152027f16ff4c38168e8b381 (patch)
tree3c23690e1ec4c9ea893f7aed2faae2e921f7ee5f /ext/standard/tests/array/array_uintersect_uassoc_basic.phpt
parent39b585001abd2d1ad4fb01d972b08488fc9e51f9 (diff)
downloadphp-git-3b8256dce49b59ff152027f16ff4c38168e8b381.tar.gz
- add some basic tests for array diff and intersection functions
Diffstat (limited to 'ext/standard/tests/array/array_uintersect_uassoc_basic.phpt')
-rw-r--r--ext/standard/tests/array/array_uintersect_uassoc_basic.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_uintersect_uassoc_basic.phpt b/ext/standard/tests/array/array_uintersect_uassoc_basic.phpt
new file mode 100644
index 0000000000..a474bc7ff5
--- /dev/null
+++ b/ext/standard/tests/array/array_uintersect_uassoc_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+array_uintersect_uassoc(): Test return type and value for expected input
+--FILE--
+<?php
+/*
+* proto array array_uintersect_assoc ( array $array1, array $array2 [, array $ ..., callback $data_compare_func] )
+* Function is implemented in ext/standard/array.c
+*/
+class cr {
+ private $priv_member;
+ function cr($val) {
+ $this->priv_member = $val;
+ }
+ static function comp_func_cr($a, $b) {
+ if ($a->priv_member === $b->priv_member) return 0;
+ return ($a->priv_member > $b->priv_member) ? 1 : -1;
+ }
+ static 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_uintersect_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
+var_dump($result);
+?>
+--EXPECTF--
+array(2) {
+ [1]=>
+ object(cr)#%d (1) {
+ ["priv_member":"cr":private]=>
+ int(4)
+ }
+ [2]=>
+ object(cr)#%d (1) {
+ ["priv_member":"cr":private]=>
+ int(-15)
+ }
+} \ No newline at end of file