summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/array_diff_key.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/array/array_diff_key.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/array/array_diff_key.phpt')
-rw-r--r--ext/standard/tests/array/array_diff_key.phpt250
1 files changed, 250 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_diff_key.phpt b/ext/standard/tests/array/array_diff_key.phpt
new file mode 100644
index 0000000..765431f
--- /dev/null
+++ b/ext/standard/tests/array/array_diff_key.phpt
@@ -0,0 +1,250 @@
+--TEST--
+Test of the array_diff_key() and array_diff_ukey()
+--FILE--
+<?php
+$a = array(1, 6, 2, -20, 15, 1200, -2500);
+$b = array(0, 7, 2, -20, 11, 1100, -2500);
+$c = array(0, 6, 2, -20, 19, 1000, -2500);
+$d = array(3, 8,-2, -20, 14, 900, -2600);
+$a_f = array_flip($a);
+$b_f = array_flip($b);
+$c_f = array_flip($c);
+$d_f = array_flip($d);
+$i = 1;
+/* give nicer values */
+foreach ($a_f as $k=> &$a_f_el) { $a_f_el =$k*2;}
+foreach ($b_f as $k=> &$b_f_el) { $b_f_el =$k*2;}
+foreach ($c_f as $k=> &$c_f_el) { $c_f_el =$k*2;}
+foreach ($d_f as $k=> &$d_f_el) { $d_f_el =$k*2;}
+
+echo "------ Test $i --------\n";$i++;// 1
+var_dump(array_diff_key($a_f, $b_f));// keys -> 1, 6, 15, 1200
+var_dump(array_diff_ukey($a_f, $b_f, "comp_func"));// 1, 6, 15, 1200
+
+echo "------ Test $i --------\n";$i++;// 2
+var_dump(array_diff_key($a_f, $c_f));// keys -> 1, 15, 1200
+var_dump(array_diff_ukey($a_f, $c_f, "comp_func"));// 1, 15, 1200
+
+echo "------ Test $i --------\n";$i++;// 3
+var_dump(array_diff_key($a_f, $d_f));// 1, 6, 2, 15, 1200, -2500
+var_dump(array_diff_ukey($a_f, $d_f, "comp_func"));// 1, 6, 2, 15, 1200, -2500
+
+echo "------ Test $i --------\n";$i++;// 4
+var_dump(array_diff_key($a_f, $b_f, $c_f));// 1, 15, 1200
+var_dump(array_diff_ukey($a_f, $b_f, $c_f, "comp_func"));// 1, 15, 1200
+
+echo "------ Test $i --------\n";$i++;// 5
+var_dump(array_diff_key($a_f, $b_f, $d_f));// 1, 6, 15, 1200
+var_dump(array_diff_ukey($a_f, $b_f, $d_f, "comp_func"));// 1, 6, 15, 1200
+
+
+echo "------ Test $i --------\n";$i++;// 6
+var_dump(array_diff_key($a_f, $b_f, $c_f, $d_f));// 1, 15, 1200
+var_dump(array_diff_ukey($a_f, $b_f, $c_f, $d_f, "comp_func"));//1, 15, 1200
+
+
+echo "------ Test $i --------\n";$i++;// 7
+var_dump(array_diff_key($b_f, $c_f));// 7, 11, 1100
+var_dump(array_diff_ukey($b_f, $c_f, "comp_func"));//7, 11, 1100
+
+echo "------ Test $i --------\n";$i++;// 8
+var_dump(array_diff_key($b_f, $d_f));//0, 7, 2, 11, 1100, -2500
+var_dump(array_diff_ukey($b_f, $d_f, "comp_func"));//0, 7, 2, 11, 1100, -2500
+
+
+echo "------ Test $i --------\n";$i++;// 9
+var_dump(array_diff_key($b_f, $c_f, $d_f));// 7, 11, 1100
+var_dump(array_diff_ukey($b_f, $c_f, $d_f, "comp_func"));// 7, 11, 1000
+
+function comp_func($a, $b) {
+ if ($a === $b) return 0;
+ return ($a > $b)? 1:-1;
+
+}
+?>
+--EXPECTF--
+------ Test 1 --------
+array(4) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+array(4) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+------ Test 2 --------
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+------ Test 3 --------
+array(6) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [2]=>
+ int(4)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+ [-2500]=>
+ &int(-5000)
+}
+array(6) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [2]=>
+ int(4)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+ [-2500]=>
+ &int(-5000)
+}
+------ Test 4 --------
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+------ Test 5 --------
+array(4) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+array(4) {
+ [1]=>
+ int(2)
+ [6]=>
+ int(12)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+------ Test 6 --------
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+array(3) {
+ [1]=>
+ int(2)
+ [15]=>
+ int(30)
+ [1200]=>
+ int(2400)
+}
+------ Test 7 --------
+array(3) {
+ [7]=>
+ int(14)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+}
+array(3) {
+ [7]=>
+ int(14)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+}
+------ Test 8 --------
+array(6) {
+ [0]=>
+ int(0)
+ [7]=>
+ int(14)
+ [2]=>
+ int(4)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+ [-2500]=>
+ &int(-5000)
+}
+array(6) {
+ [0]=>
+ int(0)
+ [7]=>
+ int(14)
+ [2]=>
+ int(4)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+ [-2500]=>
+ &int(-5000)
+}
+------ Test 9 --------
+array(3) {
+ [7]=>
+ int(14)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+}
+array(3) {
+ [7]=>
+ int(14)
+ [11]=>
+ int(22)
+ [1100]=>
+ int(2200)
+}