1--TEST-- 2Test array_intersect_uassoc() function : usage variation - Intersection of integers with floats and strings. 3--FILE-- 4<?php 5/* Prototype : array array_intersect_uassoc(array arr1, array arr2 [, array ...], callback key_compare_func) 6 * Description: Computes the intersection of arrays with additional index check, compares indexes by a callback function 7 * Source code: ext/standard/array.c 8 */ 9 10echo "*** Testing array_intersect_uassoc() : usage variation ***\n"; 11 12//Initialize variables 13$arr_default_int = array(1, 2 ); 14$arr_float = array(0 => 1.00, 1.00 => 2.00, 2.00 => 3.00); 15$arr_string = array('1', '2', '3'); 16$arr_string_float = array('1.00', '2.00'); 17 18function key_compare_func($a, $b) 19{ 20 if ($a === $b) { 21 return 0; 22 } 23 return ($a > $b)? 1:-1; 24} 25 26echo "\n-- Result of integers and floating point intersection --\n"; 27var_dump( array_intersect_uassoc($arr_default_int, $arr_float, "key_compare_func") ); 28 29echo "\n-- Result of integers and strings containing integers intersection --\n"; 30var_dump( array_intersect_uassoc($arr_default_int, $arr_string, "key_compare_func") ); 31 32echo "\n-- Result of integers and strings containing floating points intersection --\n"; 33var_dump( array_intersect_uassoc($arr_default_int, $arr_string_float, "key_compare_func") ); 34?> 35===DONE=== 36--EXPECTF-- 37*** Testing array_intersect_uassoc() : usage variation *** 38 39-- Result of integers and floating point intersection -- 40array(2) { 41 [0]=> 42 int(1) 43 [1]=> 44 int(2) 45} 46 47-- Result of integers and strings containing integers intersection -- 48array(2) { 49 [0]=> 50 int(1) 51 [1]=> 52 int(2) 53} 54 55-- Result of integers and strings containing floating points intersection -- 56array(0) { 57} 58===DONE=== 59