1--TEST-- 2Test shuffle() function : basic functionality - with associative array 3--FILE-- 4<?php 5/* Prototype : bool shuffle(array $array_arg) 6 * Description: Randomly shuffle the contents of an array 7 * Source code: ext/standard/array.c 8*/ 9 10/* 11* Test behaviour of shuffle when an associative array is 12* passed to the 'array_arg' argument and check for the 13* changes in the input array by printing the input array 14* before and after shuffle() function is applied on it 15*/ 16 17echo "*** Testing shuffle() : with associative array ***\n"; 18 19// Initialise the associative array 20$array_arg = array( 21 'one' => 1, 2 => 02, 'three' => 3, 22 4 => 4, '#5' => 5, 'SIX' => 6, 23 "seven" => 0x7, "#8" => 012, "nine" => 9 24); 25 26// printing the input array before the shuffle operation 27echo "\n-- input array before shuffle() function is applied --\n"; 28var_dump( $array_arg ); 29 30// applying shuffle() function on the input array 31echo "\n-- return value from shuffle() function --\n"; 32var_dump( shuffle($array_arg) ); // prints the return value from shuffle() function 33 34echo "\n-- resultant array after shuffle() function is applied --\n"; 35var_dump( $array_arg ); 36 37echo "Done"; 38?> 39--EXPECTF-- 40*** Testing shuffle() : with associative array *** 41 42-- input array before shuffle() function is applied -- 43array(9) { 44 ["one"]=> 45 int(1) 46 [2]=> 47 int(2) 48 ["three"]=> 49 int(3) 50 [4]=> 51 int(4) 52 ["#5"]=> 53 int(5) 54 ["SIX"]=> 55 int(6) 56 ["seven"]=> 57 int(7) 58 ["#8"]=> 59 int(10) 60 ["nine"]=> 61 int(9) 62} 63 64-- return value from shuffle() function -- 65bool(true) 66 67-- resultant array after shuffle() function is applied -- 68array(9) { 69 [0]=> 70 int(%d) 71 [1]=> 72 int(%d) 73 [2]=> 74 int(%d) 75 [3]=> 76 int(%d) 77 [4]=> 78 int(%d) 79 [5]=> 80 int(%d) 81 [6]=> 82 int(%d) 83 [7]=> 84 int(%d) 85 [8]=> 86 int(%d) 87} 88Done 89