1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
--TEST--
Test array_intersect_assoc() function : usage variations - two dimensional arrays for $arr1 and $arr2 arguments
--FILE--
<?php
/* Prototype : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
* Description: Returns the entries of arr1 that have values which are present in all the other arguments.
* Keys are used to do more restrictive check
* Source code: ext/standard/array.c
*/
/*
* Testing the behavior of array_intersect_assoc() by passing 2-D arrays
* to both $arr1 and $arr2 argument.
* Optional argument takes the same value as that of $arr1
*/
echo "*** Testing array_intersect_assoc() : passing two dimensional array to both \$arr1 and \$arr2 arguments ***\n";
// two dimensional arrays for $arr1 and $arr2 argument
$arr1 = array (
// arrays with default keys
array(1, 2, "hello", 'world'),
array(1, 2, 3, 4),
// arrays with explicit keys
array(1 => "one", 2 => "two", 3 => "three"),
array("ten" => 10, "twenty" => 20.00, "thirty" => 30)
);
$arr2 = array (
array(1, 2, 3, 4),
array(1 => "one", 2 => "two", 3 => "three")
);
/* Passing the entire array as argument to $arr1 and $arr2 */
// Calling array_intersect_assoc() with default arguments
echo "-- Passing the entire 2-D array to \$arr1 and \$arr2 --\n";
echo "- With default arguments -\n";
var_dump( array_intersect_assoc($arr1, $arr2) );
// Calling array_intersect_assoc() with more arguments
// additional argument passed is the same as $arr1
echo "- With more arguments -\n";
var_dump( array_intersect_assoc($arr1, $arr2, $arr1) );
/* Passing the sub-array as argument to $arr1 and $arr2 */
// Calling array_intersect_assoc() with default arguments
echo "-- Passing the sub-array to \$arr1 and \$arr2 --\n";
echo "- With default arguments -\n";
var_dump( array_intersect_assoc($arr1[0], $arr2[0]) );
// Calling array_intersect_assoc() with more arguments
// additional argument passed is the same as $arr1
echo "- With more arguments -\n";
var_dump( array_intersect_assoc($arr1[0], $arr2[0], $arr1[0]) );
echo "Done";
?>
--EXPECTF--
*** Testing array_intersect_assoc() : passing two dimensional array to both $arr1 and $arr2 arguments ***
-- Passing the entire 2-D array to $arr1 and $arr2 --
- With default arguments -
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
array(2) {
[0]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
[1]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
}
- With more arguments -
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
Notice: Array to string conversion in %sarray_intersect_assoc_variation9.php on line %d
array(2) {
[0]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
[1]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
}
-- Passing the sub-array to $arr1 and $arr2 --
- With default arguments -
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
- With more arguments -
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Done
|