1--TEST-- 2Test str_shuffle() function : usage variations - test values for $haystack argument 3--FILE-- 4<?php 5 6/* Prototype : string str_shuffle ( string $str ) 7 * Description: Randomly shuffles a string 8 * Source code: ext/standard/string.c 9*/ 10 11echo "*** Testing str_shuffle() function: with unexpected inputs for 'string' argument ***\n"; 12 13//get an unset variable 14$unset_var = 'string_val'; 15unset($unset_var); 16 17//defining a class 18class sample { 19 public function __toString() { 20 return "sample object"; 21 } 22} 23 24//getting the resource 25$file_handle = fopen(__FILE__, "r"); 26 27// array with different values for $input 28$inputs = array ( 29 30 // integer values 31/*1*/ 0, 32 1, 33 -2, 34 2147483647, 35 -2147483648, 36 37 // float values 38/*6*/ 10.5, 39 -20.5, 40 10.1234567e10, 41 42 // array values 43/*9*/ array(), 44 array(0), 45 array(1, 2), 46 47 // boolean values 48/*12*/ true, 49 false, 50 TRUE, 51 FALSE, 52 53 // null vlaues 54/*16*/ NULL, 55 null, 56 57 // objects 58/*18*/ new sample(), 59 60 // resource 61/*19*/ $file_handle, 62 63 // undefined variable 64/*20*/ @$undefined_var, 65 66 // unset variable 67/*21*/ @$unset_var 68); 69 70 71// loop through with each element of the $inputs array to test str_shuffle() function 72$count = 1; 73foreach($inputs as $input) { 74 echo "-- Iteration $count --\n"; 75 var_dump( str_shuffle($input) ); 76 $count ++; 77} 78 79fclose($file_handle); //closing the file handle 80 81?> 82===DONE=== 83--EXPECTF-- 84*** Testing str_shuffle() function: with unexpected inputs for 'string' argument *** 85-- Iteration 1 -- 86string(1) "0" 87-- Iteration 2 -- 88string(1) "1" 89-- Iteration 3 -- 90string(2) "%s" 91-- Iteration 4 -- 92string(10) "%s" 93-- Iteration 5 -- 94string(11) "%s" 95-- Iteration 6 -- 96string(4) "%s" 97-- Iteration 7 -- 98string(5) "%s" 99-- Iteration 8 -- 100string(12) "%s" 101-- Iteration 9 -- 102 103Warning: str_shuffle() expects parameter 1 to be string, array given in %s on line %d 104NULL 105-- Iteration 10 -- 106 107Warning: str_shuffle() expects parameter 1 to be string, array given in %s on line %d 108NULL 109-- Iteration 11 -- 110 111Warning: str_shuffle() expects parameter 1 to be string, array given in %s on line %d 112NULL 113-- Iteration 12 -- 114string(1) "1" 115-- Iteration 13 -- 116string(0) "" 117-- Iteration 14 -- 118string(1) "1" 119-- Iteration 15 -- 120string(0) "" 121-- Iteration 16 -- 122string(0) "" 123-- Iteration 17 -- 124string(0) "" 125-- Iteration 18 -- 126string(13) "%s" 127-- Iteration 19 -- 128 129Warning: str_shuffle() expects parameter 1 to be string, resource given in %s on line %d 130NULL 131-- Iteration 20 -- 132string(0) "" 133-- Iteration 21 -- 134string(0) "" 135===DONE===