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>