summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/array_intersect_ukey_variation7.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/array_intersect_ukey_variation7.phpt')
-rw-r--r--ext/standard/tests/array/array_intersect_ukey_variation7.phpt63
1 files changed, 63 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_intersect_ukey_variation7.phpt b/ext/standard/tests/array/array_intersect_ukey_variation7.phpt
new file mode 100644
index 0000000..75b601c
--- /dev/null
+++ b/ext/standard/tests/array/array_intersect_ukey_variation7.phpt
@@ -0,0 +1,63 @@
+--TEST--
+Test array_intersect_ukey() function : usage variation - Intersection of strings containing integer and float
+--FILE--
+<?php
+/* Prototype : array array_intersect_ukey(array arr1, array arr2 [, array ...], callback key_compare_func)
+ * Description: Computes the intersection of arrays using a callback function on the keys for comparison.
+ * Source code: ext/standard/array.c
+ */
+
+echo "*** Testing array_intersect_ukey() : usage variation ***\n";
+
+//Initialize variables
+$arr1_string_int = array('0' => '1', '1' => '2');
+$arr2_string_int = array('0' => '1', '1' => '3');
+$arr1_string_float = array('0.00' => '1.00', '1.00' => '2.00');
+$arr2_string_float = array('0.00' => '1.00', '1.00' => '3.00');
+
+//Call back function
+function key_compare_func($key1, $key2)
+{
+ if ($key1 == $key2)
+ return 0;
+ else
+ return ($key1 > $key2)? 1:-1;
+}
+
+echo "\n-- Result of strings containing integers intersection --\n";
+var_dump( array_intersect_ukey($arr1_string_int, $arr2_string_int, 'key_compare_func') );
+
+echo "\n-- Result of strings containing floating points intersection --\n";
+var_dump( array_intersect_ukey($arr1_string_float, $arr2_string_float, 'key_compare_func') );
+
+echo "\n-- Result of strings containing integers and strings containing floating points intersection --\n";
+var_dump( array_intersect_ukey($arr1_string_int, $arr2_string_float, 'key_compare_func') );
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_intersect_ukey() : usage variation ***
+
+-- Result of strings containing integers intersection --
+array(2) {
+ [0]=>
+ string(1) "1"
+ [1]=>
+ string(1) "2"
+}
+
+-- Result of strings containing floating points intersection --
+array(2) {
+ ["0.00"]=>
+ string(4) "1.00"
+ ["1.00"]=>
+ string(4) "2.00"
+}
+
+-- Result of strings containing integers and strings containing floating points intersection --
+array(2) {
+ [0]=>
+ string(1) "1"
+ [1]=>
+ string(1) "2"
+}
+===DONE=== \ No newline at end of file