1--TEST-- 2Test array_unshift() function : usage variations - two dimensional arrays for 'array' argument 3--FILE-- 4<?php 5/* Prototype : int array_unshift(array $array, mixed $var [, mixed ...]) 6 * Description: Pushes elements onto the beginning of the array 7 * Source code: ext/standard/array.c 8*/ 9 10/* 11 * Testing the functionality of array_unshift() by giving two-dimensional 12 * arrays and also sub-arrays within the two-dimensional array for $array argument. 13 * The $var argument passed is a fixed value 14*/ 15 16echo "*** Testing array_unshift() : two dimensional arrays for \$array argument ***\n"; 17 18// initializing $var argument 19$var = 10; 20 21// two-dimensional array to be passed to $array argument 22$two_dimensional_array = array( 23 24 // associative array 25 array('color' => 'red', 'item' => 'pen', 'place' => 'LA'), 26 27 // numeric array 28 array(1, 2, 3, 4, 5), 29 30 // combination of numeric and associative arrays 31 array('a' => 'green', 'red', 'brown', 33, 88, 'orange', 'item' => 'ball') 32); 33 34/* Passing the entire $two_dimensional_array to $array */ 35 36/* With default argument */ 37// returns element count in the resulting array after arguments are pushed to 38// beginning of the given array 39$temp_array = $two_dimensional_array; 40var_dump( array_unshift($temp_array, $var) ); // whole 2-d array 41 42// dumps the resulting array 43var_dump($temp_array); 44 45/* With optional arguments */ 46// returns element count in the resulting array after arguments are pushed to 47// beginning of the given array 48$temp_array = $two_dimensional_array; 49var_dump( array_unshift($temp_array, $var, "hello", 'world') ); // whole 2-d array 50 51// dumps the resulting array 52var_dump($temp_array); 53 54/* Passing the sub-array within the $two_dimensional_array to $array argument */ 55 56/* With default argument */ 57// returns element count in the resulting array after arguments are pushed to 58// beginning of the given array 59$temp_array = $two_dimensional_array[0]; 60var_dump( array_unshift($temp_array, $var) ); // sub array 61 62// dumps the resulting array 63var_dump($temp_array); 64 65/* With optional arguments */ 66// returns element count in the resulting array after arguments are pushed to 67// beginning of the given array 68$temp_array = $two_dimensional_array[0]; 69var_dump( array_unshift($temp_array, $var, "hello", 'world') ); // sub array 70 71// dumps the resulting array 72var_dump($temp_array); 73 74echo "Done"; 75?> 76--EXPECT-- 77*** Testing array_unshift() : two dimensional arrays for $array argument *** 78int(4) 79array(4) { 80 [0]=> 81 int(10) 82 [1]=> 83 array(3) { 84 ["color"]=> 85 string(3) "red" 86 ["item"]=> 87 string(3) "pen" 88 ["place"]=> 89 string(2) "LA" 90 } 91 [2]=> 92 array(5) { 93 [0]=> 94 int(1) 95 [1]=> 96 int(2) 97 [2]=> 98 int(3) 99 [3]=> 100 int(4) 101 [4]=> 102 int(5) 103 } 104 [3]=> 105 array(7) { 106 ["a"]=> 107 string(5) "green" 108 [0]=> 109 string(3) "red" 110 [1]=> 111 string(5) "brown" 112 [2]=> 113 int(33) 114 [3]=> 115 int(88) 116 [4]=> 117 string(6) "orange" 118 ["item"]=> 119 string(4) "ball" 120 } 121} 122int(6) 123array(6) { 124 [0]=> 125 int(10) 126 [1]=> 127 string(5) "hello" 128 [2]=> 129 string(5) "world" 130 [3]=> 131 array(3) { 132 ["color"]=> 133 string(3) "red" 134 ["item"]=> 135 string(3) "pen" 136 ["place"]=> 137 string(2) "LA" 138 } 139 [4]=> 140 array(5) { 141 [0]=> 142 int(1) 143 [1]=> 144 int(2) 145 [2]=> 146 int(3) 147 [3]=> 148 int(4) 149 [4]=> 150 int(5) 151 } 152 [5]=> 153 array(7) { 154 ["a"]=> 155 string(5) "green" 156 [0]=> 157 string(3) "red" 158 [1]=> 159 string(5) "brown" 160 [2]=> 161 int(33) 162 [3]=> 163 int(88) 164 [4]=> 165 string(6) "orange" 166 ["item"]=> 167 string(4) "ball" 168 } 169} 170int(4) 171array(4) { 172 [0]=> 173 int(10) 174 ["color"]=> 175 string(3) "red" 176 ["item"]=> 177 string(3) "pen" 178 ["place"]=> 179 string(2) "LA" 180} 181int(6) 182array(6) { 183 [0]=> 184 int(10) 185 [1]=> 186 string(5) "hello" 187 [2]=> 188 string(5) "world" 189 ["color"]=> 190 string(3) "red" 191 ["item"]=> 192 string(3) "pen" 193 ["place"]=> 194 string(2) "LA" 195} 196Done 197