1--TEST-- 2Test array_unshift() function : usage variations - double quoted strings for 'var' 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 passing different 12 * double quoted strings for $var argument that is prepended to the array 13 * passed through $array argument 14*/ 15 16echo "*** Testing array_unshift() : double quoted strings for \$var argument ***\n"; 17 18// array to be passed to $array argument 19$array = array('f' => "first", "s" => 'second', 1, 2.222); 20 21// different variations of double quoted strings to be passed to $var argument 22$vars = array ( 23 "\$ -> This represents the dollar sign. hello dollar!!!", 24 "\t\r\v The quick brown fo\fx jumped over the lazy dog", 25 "This is a text with special chars: \!\@\#\$\%\^\&\*\(\)\\", 26 "hello world\\t", 27 "This is \ta text in bold letters\r\s\malong with slashes\n : HELLO WORLD\t" 28); 29 30// loop through the various elements of $arrays to test array_unshift() 31$iterator = 1; 32foreach($vars as $var) { 33 echo "-- Iteration $iterator --\n"; 34 $temp_array = $array; // assign $array to another temporary $temp_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 var_dump( array_unshift($temp_array, $var) ); 40 41// dump the resulting array 42 var_dump($temp_array); 43 44 /* with optional arguments */ 45 // returns element count in the resulting array after arguments are pushed to 46 // beginning of the given array 47 $temp_array = $array; 48 var_dump( array_unshift($temp_array, $var, "hello", 'world') ); 49 50 // dump the resulting array 51 var_dump($temp_array); 52 $iterator++; 53} 54 55echo "Done"; 56?> 57--EXPECT-- 58*** Testing array_unshift() : double quoted strings for $var argument *** 59-- Iteration 1 -- 60int(5) 61array(5) { 62 [0]=> 63 string(53) "$ -> This represents the dollar sign. hello dollar!!!" 64 ["f"]=> 65 string(5) "first" 66 ["s"]=> 67 string(6) "second" 68 [1]=> 69 int(1) 70 [2]=> 71 float(2.222) 72} 73int(7) 74array(7) { 75 [0]=> 76 string(53) "$ -> This represents the dollar sign. hello dollar!!!" 77 [1]=> 78 string(5) "hello" 79 [2]=> 80 string(5) "world" 81 ["f"]=> 82 string(5) "first" 83 ["s"]=> 84 string(6) "second" 85 [3]=> 86 int(1) 87 [4]=> 88 float(2.222) 89} 90-- Iteration 2 -- 91int(5) 92array(5) { 93 [0]=> 94 string(49) " 94 The quick brown fox jumped over the lazy dog" 95 ["f"]=> 96 string(5) "first" 97 ["s"]=> 98 string(6) "second" 99 [1]=> 100 int(1) 101 [2]=> 102 float(2.222) 103} 104int(7) 105array(7) { 106 [0]=> 107 string(49) " 107 The quick brown fox jumped over the lazy dog" 108 [1]=> 109 string(5) "hello" 110 [2]=> 111 string(5) "world" 112 ["f"]=> 113 string(5) "first" 114 ["s"]=> 115 string(6) "second" 116 [3]=> 117 int(1) 118 [4]=> 119 float(2.222) 120} 121-- Iteration 3 -- 122int(5) 123array(5) { 124 [0]=> 125 string(55) "This is a text with special chars: \!\@\#$\%\^\&\*\(\)\" 126 ["f"]=> 127 string(5) "first" 128 ["s"]=> 129 string(6) "second" 130 [1]=> 131 int(1) 132 [2]=> 133 float(2.222) 134} 135int(7) 136array(7) { 137 [0]=> 138 string(55) "This is a text with special chars: \!\@\#$\%\^\&\*\(\)\" 139 [1]=> 140 string(5) "hello" 141 [2]=> 142 string(5) "world" 143 ["f"]=> 144 string(5) "first" 145 ["s"]=> 146 string(6) "second" 147 [3]=> 148 int(1) 149 [4]=> 150 float(2.222) 151} 152-- Iteration 4 -- 153int(5) 154array(5) { 155 [0]=> 156 string(13) "hello world\t" 157 ["f"]=> 158 string(5) "first" 159 ["s"]=> 160 string(6) "second" 161 [1]=> 162 int(1) 163 [2]=> 164 float(2.222) 165} 166int(7) 167array(7) { 168 [0]=> 169 string(13) "hello world\t" 170 [1]=> 171 string(5) "hello" 172 [2]=> 173 string(5) "world" 174 ["f"]=> 175 string(5) "first" 176 ["s"]=> 177 string(6) "second" 178 [3]=> 179 int(1) 180 [4]=> 181 float(2.222) 182} 183-- Iteration 5 -- 184int(5) 185array(5) { 186 [0]=> 187 string(70) "This is a text in bold letters 187\s\malong with slashes 188 : HELLO WORLD " 189 ["f"]=> 190 string(5) "first" 191 ["s"]=> 192 string(6) "second" 193 [1]=> 194 int(1) 195 [2]=> 196 float(2.222) 197} 198int(7) 199array(7) { 200 [0]=> 201 string(70) "This is a text in bold letters 201\s\malong with slashes 202 : HELLO WORLD " 203 [1]=> 204 string(5) "hello" 205 [2]=> 206 string(5) "world" 207 ["f"]=> 208 string(5) "first" 209 ["s"]=> 210 string(6) "second" 211 [3]=> 212 int(1) 213 [4]=> 214 float(2.222) 215} 216Done 217