Annotation of embedaddon/php/ext/standard/tests/array/usort_variation6.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test usort() function : usage variations - multi-dimensional arrays
                      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 a multi-dimensional array as $array_arg argument to usort()
                     12:  * to test how array is re-ordered
                     13:  */
                     14: 
                     15: echo "*** Testing usort() : usage variation ***\n";
                     16: 
                     17: function cmp_function($value1, $value2)
                     18: {
                     19:   if($value1 == $value2) {
                     20:     return 0;
                     21:   }
                     22:   else if($value1 > $value2) {
                     23:     return 1;
                     24:   }
                     25:   else {
                     26:     return -1;
                     27:   }
                     28: }
                     29: 
                     30: $array_args = array(
                     31:   0 => array(2, 10, -1),
                     32:   1 => array(100),
                     33:   2 => array(),
                     34:   3 => array(0),
                     35:   4 => array(-1),
                     36:   5 => array(-9, 34, 54, 0, 20),
                     37:   6 => array(''),
                     38:   7 => array("apple", "Apple", "APPLE", "aPPle", "aPpLe")
                     39: );
                     40: 
                     41: $temp_array = $array_args;
                     42: 
                     43: echo "\n-- Pass usort() a two-dimensional array --\n";
                     44: // sorting array_arg as whole array
                     45: var_dump( usort($temp_array, 'cmp_function') );
                     46: 
                     47: echo "-- Array after call to usort() --\n";
                     48: var_dump($temp_array);
                     49: 
                     50: echo "\n-- Pass usort() a sub-array --\n";
                     51: var_dump( usort($array_args[5], 'cmp_function') );
                     52: 
                     53: echo "-- Array after call to usort() --\n";
                     54: var_dump($array_args[5]);
                     55: ?>
                     56: ===DONE===
                     57: --EXPECTF--
                     58: *** Testing usort() : usage variation ***
                     59: 
                     60: -- Pass usort() a two-dimensional array --
                     61: bool(true)
                     62: -- Array after call to usort() --
                     63: array(8) {
                     64:   [0]=>
                     65:   array(0) {
                     66:   }
                     67:   [1]=>
                     68:   array(1) {
                     69:     [0]=>
                     70:     int(-1)
                     71:   }
                     72:   [2]=>
                     73:   array(1) {
                     74:     [0]=>
                     75:     string(0) ""
                     76:   }
                     77:   [3]=>
                     78:   array(1) {
                     79:     [0]=>
                     80:     int(0)
                     81:   }
                     82:   [4]=>
                     83:   array(1) {
                     84:     [0]=>
                     85:     int(100)
                     86:   }
                     87:   [5]=>
                     88:   array(3) {
                     89:     [0]=>
                     90:     int(2)
                     91:     [1]=>
                     92:     int(10)
                     93:     [2]=>
                     94:     int(-1)
                     95:   }
                     96:   [6]=>
                     97:   array(5) {
                     98:     [0]=>
                     99:     int(-9)
                    100:     [1]=>
                    101:     int(34)
                    102:     [2]=>
                    103:     int(54)
                    104:     [3]=>
                    105:     int(0)
                    106:     [4]=>
                    107:     int(20)
                    108:   }
                    109:   [7]=>
                    110:   array(5) {
                    111:     [0]=>
                    112:     string(5) "apple"
                    113:     [1]=>
                    114:     string(5) "Apple"
                    115:     [2]=>
                    116:     string(5) "APPLE"
                    117:     [3]=>
                    118:     string(5) "aPPle"
                    119:     [4]=>
                    120:     string(5) "aPpLe"
                    121:   }
                    122: }
                    123: 
                    124: -- Pass usort() a sub-array --
                    125: bool(true)
                    126: -- Array after call to usort() --
                    127: array(5) {
                    128:   [0]=>
                    129:   int(-9)
                    130:   [1]=>
                    131:   int(0)
                    132:   [2]=>
                    133:   int(20)
                    134:   [3]=>
                    135:   int(34)
                    136:   [4]=>
                    137:   int(54)
                    138: }
                    139: ===DONE===

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