Annotation of embedaddon/php/ext/standard/tests/array/usort_variation4.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test usort() function : usage variations - numeric data
        !             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 arrays of numeric data to usort() to test how it is re-ordered
        !            12:  */
        !            13: 
        !            14: echo "*** Testing usort() : usage variation ***\n";
        !            15: 
        !            16: function cmp_function($value1, $value2)
        !            17: {
        !            18:   if($value1 == $value2) {
        !            19:     return 0;
        !            20:   }
        !            21:   else if($value1 > $value2) {
        !            22:     return 1;
        !            23:   }
        !            24:   else {
        !            25:     return -1;
        !            26:   }
        !            27: }
        !            28: 
        !            29: // Int array
        !            30: $int_values = array(0 => 3,   1 => 2,   3 => 100, 
        !            31:                     4 => 150, 5 => 25,  6 => 350, 
        !            32:                     7 => 0,   8 => -3,  9 => -1200);
        !            33:                     
        !            34: echo "\n-- Sorting Integer array --\n";
        !            35: var_dump( usort($int_values, 'cmp_function') );
        !            36: var_dump($int_values);
        !            37: 
        !            38: // Octal array
        !            39: $octal_values = array(0 => 056, 1 => 023,  2 => 090, 
        !            40:                       3 => 015, 4 => -045, 5 => 01,  6 => -078);
        !            41: 
        !            42: echo "\n-- Sorting Octal array --\n";
        !            43: var_dump( usort($octal_values, 'cmp_function') );
        !            44: var_dump($octal_values);
        !            45: 
        !            46: // Hexadecimal array
        !            47: $hex_values = array(0 => 0xAE,  1 => 0x2B, 2 => 0X10, 
        !            48:                     3 => -0xCF, 4 => 0X12, 5 => -0XF2);
        !            49:                     
        !            50: echo "\n-- Sorting Hex array --\n";
        !            51: var_dump( usort($hex_values, 'cmp_function') );
        !            52: var_dump($hex_values);
        !            53: 
        !            54: // Float array
        !            55: $float_values = array( 0 => 10.2, 1 => 2.4, 2 => -3.4, 
        !            56:                        3 => 0,    4 => 0.5, 5 => 7.3e3, 6 => -9.34E-2);
        !            57:                        
        !            58: echo "\n-- Sorting Float array --\n";
        !            59: var_dump( usort($float_values, 'cmp_function') );
        !            60: var_dump($float_values);
        !            61: 
        !            62: // empty array
        !            63: $empty_array = array();
        !            64: 
        !            65: echo "\n-- Sorting empty array --\n";
        !            66: var_dump( usort($empty_array, 'cmp_function') );
        !            67: var_dump($empty_array);
        !            68: ?>
        !            69: ===DONE===
        !            70: --EXPECTF--
        !            71: *** Testing usort() : usage variation ***
        !            72: 
        !            73: -- Sorting Integer array --
        !            74: bool(true)
        !            75: array(9) {
        !            76:   [0]=>
        !            77:   int(-1200)
        !            78:   [1]=>
        !            79:   int(-3)
        !            80:   [2]=>
        !            81:   int(0)
        !            82:   [3]=>
        !            83:   int(2)
        !            84:   [4]=>
        !            85:   int(3)
        !            86:   [5]=>
        !            87:   int(25)
        !            88:   [6]=>
        !            89:   int(100)
        !            90:   [7]=>
        !            91:   int(150)
        !            92:   [8]=>
        !            93:   int(350)
        !            94: }
        !            95: 
        !            96: -- Sorting Octal array --
        !            97: bool(true)
        !            98: array(7) {
        !            99:   [0]=>
        !           100:   int(-37)
        !           101:   [1]=>
        !           102:   int(-7)
        !           103:   [2]=>
        !           104:   int(0)
        !           105:   [3]=>
        !           106:   int(1)
        !           107:   [4]=>
        !           108:   int(13)
        !           109:   [5]=>
        !           110:   int(19)
        !           111:   [6]=>
        !           112:   int(46)
        !           113: }
        !           114: 
        !           115: -- Sorting Hex array --
        !           116: bool(true)
        !           117: array(6) {
        !           118:   [0]=>
        !           119:   int(-242)
        !           120:   [1]=>
        !           121:   int(-207)
        !           122:   [2]=>
        !           123:   int(16)
        !           124:   [3]=>
        !           125:   int(18)
        !           126:   [4]=>
        !           127:   int(43)
        !           128:   [5]=>
        !           129:   int(174)
        !           130: }
        !           131: 
        !           132: -- Sorting Float array --
        !           133: bool(true)
        !           134: array(7) {
        !           135:   [0]=>
        !           136:   float(-3.4)
        !           137:   [1]=>
        !           138:   float(-0.0934)
        !           139:   [2]=>
        !           140:   int(0)
        !           141:   [3]=>
        !           142:   float(0.5)
        !           143:   [4]=>
        !           144:   float(2.4)
        !           145:   [5]=>
        !           146:   float(10.2)
        !           147:   [6]=>
        !           148:   float(7300)
        !           149: }
        !           150: 
        !           151: -- Sorting empty array --
        !           152: bool(true)
        !           153: array(0) {
        !           154: }
        !           155: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>