Annotation of embedaddon/php/ext/standard/tests/array/array_multisort_variation8.phpt, revision 1.1
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===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>