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

1.1     ! misho       1: --TEST--
        !             2: Test uasort() function : usage variations - sort different numeric values
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : bool uasort(array $array_arg, string $cmp_function)
        !             6:  * Description: Sort an array with a user-defined comparison function and maintain index association 
        !             7:  * Source code: ext/standard/array.c
        !             8: */
        !             9: 
        !            10: /*
        !            11: * sorting different types of numeric arrays containing data of following type:
        !            12: *  integer, octal, hexadecimal & float
        !            13: */
        !            14: 
        !            15: // comparision function
        !            16: /* Prototype : int cmp_function(mixed $value1, mixed $value2)
        !            17:  * Parameters : $value1 and $value2 - values to be compared
        !            18:  * Return value : 0 - if both values are same
        !            19:  *                1 - if value1 is greater than value2
        !            20:  *               -1 - if value1 is less than value2
        !            21:  * Description : compares value1 and value2
        !            22:  */
        !            23: function cmp_function($value1, $value2)
        !            24: {
        !            25:   if($value1 == $value2) {
        !            26:     return 0;
        !            27:   }
        !            28:   else if($value1 > $value2) {
        !            29:     return 1;
        !            30:   }
        !            31:   else {
        !            32:     return -1;
        !            33:   }
        !            34: }
        !            35: 
        !            36: echo "*** Testing uasort() : different numeric arrays as 'array_arg' ***\n";
        !            37: 
        !            38: // Int array
        !            39: $int_values = array(0 => 3, 1 => 2, 3 => 100, 4 => 150, 5 => 25, 6 => 350, 7 => 0, 8 => -3, 9 => -1200);
        !            40: echo "-- Sorting Integer array --\n";
        !            41: var_dump( uasort($int_values, 'cmp_function') );  // expecting: bool(true)
        !            42: var_dump($int_values);
        !            43: 
        !            44: // Octal array
        !            45: $octal_values = array(0 => 056, 1 => 023, 2 => 090, 3 => 015, 4 => -045, 5 => 01, 6 => -078);
        !            46: echo "-- Sorting Octal array --\n";
        !            47: var_dump( uasort($octal_values, 'cmp_function') );  // expecting: bool(true)
        !            48: var_dump($octal_values);
        !            49: 
        !            50: // Hexadecimal array
        !            51: $hex_values = array(0 => 0xAE, 1 => 0x2B, 2 => 0X10, 3 => -0xCF, 4 => 0X12, 5 => -0XF2);
        !            52: echo "-- Sorting Hex array --\n";
        !            53: var_dump( uasort($hex_values, 'cmp_function') );  // expecting: bool(true)
        !            54: var_dump($hex_values);
        !            55: 
        !            56: // Float array
        !            57: $float_values = array( 0 => 10.2, 1 => 2.4, 2 => -3.4, 3 => 0, 4 => 0.5, 5 => 7.3e3, 6 => -9.34E-2);
        !            58: echo "-- Sorting Float array --\n";
        !            59: var_dump( uasort($float_values, 'cmp_function') );  // expecting: bool(true)
        !            60: var_dump($float_values);
        !            61: 
        !            62: // empty array
        !            63: $empty_array = array();
        !            64: echo "-- Sorting empty array --\n";
        !            65: var_dump( uasort($empty_array, 'cmp_function') );  // expecting: bool(true)
        !            66: var_dump($empty_array);
        !            67: 
        !            68: echo "Done"
        !            69: ?>
        !            70: --EXPECTF--
        !            71: *** Testing uasort() : different numeric arrays as 'array_arg' ***
        !            72: -- Sorting Integer array --
        !            73: bool(true)
        !            74: array(9) {
        !            75:   [9]=>
        !            76:   int(-1200)
        !            77:   [8]=>
        !            78:   int(-3)
        !            79:   [7]=>
        !            80:   int(0)
        !            81:   [1]=>
        !            82:   int(2)
        !            83:   [0]=>
        !            84:   int(3)
        !            85:   [5]=>
        !            86:   int(25)
        !            87:   [3]=>
        !            88:   int(100)
        !            89:   [4]=>
        !            90:   int(150)
        !            91:   [6]=>
        !            92:   int(350)
        !            93: }
        !            94: -- Sorting Octal array --
        !            95: bool(true)
        !            96: array(7) {
        !            97:   [4]=>
        !            98:   int(-37)
        !            99:   [6]=>
        !           100:   int(-7)
        !           101:   [2]=>
        !           102:   int(0)
        !           103:   [5]=>
        !           104:   int(1)
        !           105:   [3]=>
        !           106:   int(13)
        !           107:   [1]=>
        !           108:   int(19)
        !           109:   [0]=>
        !           110:   int(46)
        !           111: }
        !           112: -- Sorting Hex array --
        !           113: bool(true)
        !           114: array(6) {
        !           115:   [5]=>
        !           116:   int(-242)
        !           117:   [3]=>
        !           118:   int(-207)
        !           119:   [2]=>
        !           120:   int(16)
        !           121:   [4]=>
        !           122:   int(18)
        !           123:   [1]=>
        !           124:   int(43)
        !           125:   [0]=>
        !           126:   int(174)
        !           127: }
        !           128: -- Sorting Float array --
        !           129: bool(true)
        !           130: array(7) {
        !           131:   [2]=>
        !           132:   float(-3.4)
        !           133:   [6]=>
        !           134:   float(-0.0934)
        !           135:   [3]=>
        !           136:   int(0)
        !           137:   [4]=>
        !           138:   float(0.5)
        !           139:   [1]=>
        !           140:   float(2.4)
        !           141:   [0]=>
        !           142:   float(10.2)
        !           143:   [5]=>
        !           144:   float(7300)
        !           145: }
        !           146: -- Sorting empty array --
        !           147: bool(true)
        !           148: array(0) {
        !           149: }
        !           150: Done

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