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