1--TEST-- 2Test usort() function : error conditions - Pass unknown 'cmp_function' 3--FILE-- 4<?php 5/* Prototype : bool usort(array $array_arg, string $cmp_function) 6 * Description: Sort an array by values using a user-defined comparison function 7 * Source code: ext/standard/array.c 8 */ 9 10/* 11 * Pass an unknown comparison function to usort() to test behaviour. 12 * Pass incorrect number of arguments and an unknown function to test which error 13 * is generated. 14 */ 15 16echo "*** Testing usort() : error conditions ***\n"; 17 18function cmp($value1, $value2) 19{ 20 if($value1 == $value2) { 21 return 0; 22 } 23 else if($value1 > $value2) { 24 return 1; 25 } 26 else { 27 return -1; 28 } 29} 30 31// Initialize 'array_arg' 32$array_arg = array(0 => 1, 1 => 10, 2 => 'string', 3 => 3, 4 => 2, 5 => 100, 6 => 25); 33$extra_arg = 10; 34 35// With non existent comparison function 36echo "\n-- Testing usort() function with non-existent compare function --\n"; 37var_dump( usort($array_arg, 'non_existent') ); 38 39// With non existent comparison function and extra argument 40echo "\n-- Testing usort() function with non-existent compare function and extra argument --\n"; 41var_dump( usort($array_arg, 'non_existent', $extra_arg) ); 42?> 43===DONE=== 44--EXPECTF-- 45*** Testing usort() : error conditions *** 46 47-- Testing usort() function with non-existent compare function -- 48 49Warning: usort() expects parameter 2 to be a valid callback, function 'non_existent' not found or invalid function name in %s on line %d 50NULL 51 52-- Testing usort() function with non-existent compare function and extra argument -- 53 54Warning: usort() expects exactly 2 parameters, 3 given in %s on line %d 55NULL 56===DONE=== 57