Annotation of embedaddon/php/ext/standard/tests/array/usort_variation4.phpt, revision 1.1.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>