Return to array_multisort_variation8.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_multisort() function : usage variation - test sort order of all types 3: --FILE-- 4: <?php 5: /* Prototype : bool array_multisort(array ar1 [, SORT_ASC|SORT_DESC [, SORT_REGULAR|SORT_NUMERIC|SORT_STRING]] [, array ar2 [, SORT_ASC|SORT_DESC [, SORT_REGULAR|SORT_NUMERIC|SORT_STRING]], ...]) 6: * Description: Sort multiple arrays at once similar to how ORDER BY clause works in SQL 7: * Source code: ext/standard/array.c 8: * Alias to functions: 9: */ 10: 11: echo "*** Testing array_multisort() : usage variation - test sort order of all types***\n"; 12: 13: // Define error handler 14: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 15: // We're testing sort order not errors so ignore. 16: } 17: set_error_handler('test_error_handler'); 18: 19: // define some classes 20: class classWithToString { 21: public function __toString() { 22: return "Class A object"; 23: } 24: } 25: 26: class classWithoutToString { } 27: 28: $inputs = array( 29: 'int 0' => 0, 30: 'float -10.5' => -10.5, 31: array(), 32: 'uppercase NULL' => NULL, 33: 'lowercase true' => true, 34: 'empty string DQ' => "", 35: 'string DQ' => "string", 36: 'instance of classWithToString' => new classWithToString(), 37: 'instance of classWithoutToString' => new classWithoutToString(), 38: 'undefined var' => @$undefined_var, 39: ); 40: 41: var_dump(array_multisort($inputs, SORT_STRING)); 42: var_dump($inputs); 43: 44: ?> 45: ===DONE=== 46: --EXPECTF-- 47: *** Testing array_multisort() : usage variation - test sort order of all types*** 48: bool(true) 49: array(10) { 50: ["empty string DQ"]=> 51: string(0) "" 52: ["uppercase NULL"]=> 53: NULL 54: ["undefined var"]=> 55: NULL 56: ["instance of classWithoutToString"]=> 57: object(classWithoutToString)#2 (0) { 58: } 59: ["float -10.5"]=> 60: float(-10.5) 61: ["int 0"]=> 62: int(0) 63: ["lowercase true"]=> 64: bool(true) 65: [0]=> 66: array(0) { 67: } 68: ["instance of classWithToString"]=> 69: object(classWithToString)#1 (0) { 70: } 71: ["string DQ"]=> 72: string(6) "string" 73: } 74: ===DONE===