1--TEST-- 2Test sort() function : error conditions 3--FILE-- 4<?php 5/* Prototype : bool sort(array &array_arg [, int sort_flags]) 6 * Description: Sort an array 7 * Source code: ext/standard/array.c 8*/ 9 10/* 11* Testing sort() function with all possible error conditions 12*/ 13 14echo "*** Testing sort() : error conditions ***\n"; 15 16// zero arguments 17echo "\n-- Testing sort() function with Zero arguments --\n"; 18var_dump( sort() ); 19 20//Test sort with more than the expected number of arguments 21echo "\n-- Testing sort() function with more than expected no. of arguments --\n"; 22$array_arg = array(1, 2); 23$flag_value = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING, "SORT_NUMERIC" => SORT_NUMERIC); 24$extra_arg = 10; 25 26// loop through $flag_value array and setting all possible flag values 27foreach($flag_value as $key => $flag){ 28 echo "\nSort flag = $key\n"; 29 var_dump( sort($array_arg,$flag, $extra_arg) ); 30 31 // dump the input array to ensure that it wasn't changed 32 var_dump($array_arg); 33} 34 35echo "Done"; 36?> 37--EXPECTF-- 38*** Testing sort() : error conditions *** 39 40-- Testing sort() function with Zero arguments -- 41 42Warning: sort() expects at least 1 parameter, 0 given in %s on line %d 43bool(false) 44 45-- Testing sort() function with more than expected no. of arguments -- 46 47Sort flag = SORT_REGULAR 48 49Warning: sort() expects at most 2 parameters, 3 given in %s on line %d 50bool(false) 51array(2) { 52 [0]=> 53 int(1) 54 [1]=> 55 int(2) 56} 57 58Sort flag = SORT_STRING 59 60Warning: sort() expects at most 2 parameters, 3 given in %s on line %d 61bool(false) 62array(2) { 63 [0]=> 64 int(1) 65 [1]=> 66 int(2) 67} 68 69Sort flag = SORT_NUMERIC 70 71Warning: sort() expects at most 2 parameters, 3 given in %s on line %d 72bool(false) 73array(2) { 74 [0]=> 75 int(1) 76 [1]=> 77 int(2) 78} 79Done 80