1--TEST-- 2Test array_key_last() function 3--FILE-- 4<?php 5 6array_key_last($GLOBALS); 7 8/* Various combinations of arrays to be used for the test */ 9$mixed_array = array( 10 array(), 11 array( 1,2,3,4,5,6,7,8,9 ), 12 array( "One", "_Two", "Three", "Four", "Five" ), 13 array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ), 14 array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee" ), 15 array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five" ), 16 array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ), 17 array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2 => "float", "F" => "FFF", 18 "blank" => "", 3 => 3.7, 5 => 7, 6 => 8.6, '5' => "Five", "4name" => "jonny", "a" => NULL, NULL => 3 ), 19 array( 12, "name", 'age', '45' ), 20 array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ), 21 array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6, 22 5 => 57, "5.4" => 554, "5.7" => 557 ), 23 array( "foo" ), 24 array( 1 => "42" ) 25); 26 27/* Loop to test normal functionality with different arrays inputs */ 28echo "\n*** Normal testing with various array inputs ***\n"; 29 30$counter = 1; 31foreach( $mixed_array as $sub_array ) 32{ 33 echo "\n-- Input Array for Iteration $counter is --\n"; 34 var_dump( $sub_array ); 35 echo "\nLast key is :\n"; 36 var_dump( array_key_last($sub_array) ); 37 $counter++; 38} 39 40echo"\nDone"; 41?> 42--EXPECT-- 43*** Normal testing with various array inputs *** 44 45-- Input Array for Iteration 1 is -- 46array(0) { 47} 48 49Last key is : 50NULL 51 52-- Input Array for Iteration 2 is -- 53array(9) { 54 [0]=> 55 int(1) 56 [1]=> 57 int(2) 58 [2]=> 59 int(3) 60 [3]=> 61 int(4) 62 [4]=> 63 int(5) 64 [5]=> 65 int(6) 66 [6]=> 67 int(7) 68 [7]=> 69 int(8) 70 [8]=> 71 int(9) 72} 73 74Last key is : 75int(8) 76 77-- Input Array for Iteration 3 is -- 78array(5) { 79 [0]=> 80 string(3) "One" 81 [1]=> 82 string(4) "_Two" 83 [2]=> 84 string(5) "Three" 85 [3]=> 86 string(4) "Four" 87 [4]=> 88 string(4) "Five" 89} 90 91Last key is : 92int(4) 93 94-- Input Array for Iteration 4 is -- 95array(8) { 96 [0]=> 97 int(6) 98 [1]=> 99 string(3) "six" 100 [2]=> 101 int(7) 102 [3]=> 103 string(5) "seven" 104 [4]=> 105 int(8) 106 [5]=> 107 string(5) "eight" 108 [6]=> 109 int(9) 110 [7]=> 111 string(4) "nine" 112} 113 114Last key is : 115int(7) 116 117-- Input Array for Iteration 5 is -- 118array(5) { 119 ["a"]=> 120 string(3) "aaa" 121 ["A"]=> 122 string(3) "AAA" 123 ["c"]=> 124 string(3) "ccc" 125 ["d"]=> 126 string(3) "ddd" 127 ["e"]=> 128 string(3) "eee" 129} 130 131Last key is : 132string(1) "e" 133 134-- Input Array for Iteration 6 is -- 135array(5) { 136 [1]=> 137 string(3) "one" 138 [2]=> 139 string(3) "two" 140 [3]=> 141 string(5) "three" 142 [4]=> 143 string(4) "four" 144 [5]=> 145 string(4) "five" 146} 147 148Last key is : 149int(5) 150 151-- Input Array for Iteration 7 is -- 152array(5) { 153 [1]=> 154 string(3) "one" 155 [2]=> 156 string(3) "two" 157 [3]=> 158 int(7) 159 [4]=> 160 string(4) "four" 161 [5]=> 162 string(4) "five" 163} 164 165Last key is : 166int(5) 167 168-- Input Array for Iteration 8 is -- 169array(12) { 170 ["f"]=> 171 string(3) "fff" 172 [1]=> 173 string(3) "one" 174 [4]=> 175 int(6) 176 [""]=> 177 int(3) 178 [2]=> 179 string(5) "float" 180 ["F"]=> 181 string(3) "FFF" 182 ["blank"]=> 183 string(0) "" 184 [3]=> 185 float(3.7) 186 [5]=> 187 string(4) "Five" 188 [6]=> 189 float(8.6) 190 ["4name"]=> 191 string(5) "jonny" 192 ["a"]=> 193 NULL 194} 195 196Last key is : 197string(1) "a" 198 199-- Input Array for Iteration 9 is -- 200array(4) { 201 [0]=> 202 int(12) 203 [1]=> 204 string(4) "name" 205 [2]=> 206 string(3) "age" 207 [3]=> 208 string(2) "45" 209} 210 211Last key is : 212int(3) 213 214-- Input Array for Iteration 10 is -- 215array(3) { 216 [0]=> 217 array(3) { 218 [0]=> 219 string(3) "oNe" 220 [1]=> 221 string(3) "tWo" 222 [2]=> 223 int(4) 224 } 225 [1]=> 226 array(5) { 227 [0]=> 228 int(10) 229 [1]=> 230 int(20) 231 [2]=> 232 int(30) 233 [3]=> 234 int(40) 235 [4]=> 236 int(50) 237 } 238 [2]=> 239 array(0) { 240 } 241} 242 243Last key is : 244int(2) 245 246-- Input Array for Iteration 11 is -- 247array(10) { 248 ["one"]=> 249 int(2) 250 ["three"]=> 251 int(3) 252 [0]=> 253 int(3) 254 [1]=> 255 int(4) 256 [3]=> 257 int(33) 258 [4]=> 259 int(44) 260 [5]=> 261 int(57) 262 [6]=> 263 int(6) 264 ["5.4"]=> 265 int(554) 266 ["5.7"]=> 267 int(557) 268} 269 270Last key is : 271string(3) "5.7" 272 273-- Input Array for Iteration 12 is -- 274array(1) { 275 [0]=> 276 string(3) "foo" 277} 278 279Last key is : 280int(0) 281 282-- Input Array for Iteration 13 is -- 283array(1) { 284 [1]=> 285 string(2) "42" 286} 287 288Last key is : 289int(1) 290 291Done 292