Annotation of embedaddon/php/ext/standard/tests/array/rsort_basic.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Test rsort() function : basic functionality 
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool rsort(array &$array_arg [, int $sort_flags])
                      6:  * Description: Sort an array in reverse order 
                      7:  * Source code: ext/standard/array.c
                      8:  */
                      9: 
                     10: /*
                     11:  * Test basic functionality of rsort()
                     12:  */
                     13: 
                     14: echo "*** Testing rsort() : basic functionality ***\n";
                     15: 
                     16: // associative array containing unsorted string values  
1.1.1.2 ! misho      17: $unsorted_strings = array(
        !            18:        "l" => "lemon", "o" => "orange",
        !            19:        "O" => "Orange", "O1" => "Orange1", "o2" => "orange2", "O3" => "Orange3", "o20" => "orange20",
        !            20:        "b" => "banana",
        !            21: );
1.1       misho      22:  
                     23: // array with default keys containing unsorted numeric values
                     24: $unsorted_numerics =  array( 100, 33, 555, 22 );
                     25: 
                     26: echo "\n-- Testing rsort() by supplying string array, 'flag' value is defualt --\n";
                     27: $temp_array = $unsorted_strings;
                     28: var_dump( rsort($temp_array) );
                     29: var_dump( $temp_array);
                     30: 
                     31: echo "\n-- Testing rsort() by supplying numeric array, 'flag' value is defualt --\n";
                     32: $temp_array = $unsorted_numerics;
                     33: var_dump( rsort($temp_array) );
                     34: var_dump( $temp_array);
                     35: 
                     36: echo "\n-- Testing rsort() by supplying string array, 'flag' = SORT_REGULAR --\n";
                     37: $temp_array = $unsorted_strings;
                     38: var_dump( rsort($temp_array, SORT_REGULAR) );
                     39: var_dump( $temp_array);
                     40: 
                     41: echo "\n-- Testing rsort() by supplying numeric array, 'flag' = SORT_REGULAR --\n";
                     42: $temp_array = $unsorted_numerics;
                     43: var_dump( rsort($temp_array, SORT_REGULAR) );
                     44: var_dump( $temp_array);
                     45: 
                     46: echo "\n-- Testing rsort() by supplying string array, 'flag' = SORT_STRING --\n";
                     47: $temp_array = $unsorted_strings;
                     48: var_dump( rsort($temp_array, SORT_STRING) );
                     49: var_dump( $temp_array);
                     50: 
1.1.1.2 ! misho      51: echo "\n-- Testing rsort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE --\n";
        !            52: $temp_array = $unsorted_strings;
        !            53: var_dump( rsort($temp_array, SORT_STRING|SORT_FLAG_CASE) ); // expecting : bool(true)
        !            54: var_dump( $temp_array);
        !            55: 
        !            56: echo "\n-- Testing rsort() by supplying string array (natural), 'flag' = SORT_NATURAL --\n";
        !            57: $temp_array = $unsorted_strings;
        !            58: var_dump( rsort($temp_array, SORT_NATURAL) ); // expecting : bool(true)
        !            59: var_dump( $temp_array);
        !            60: 
        !            61: echo "\n-- Testing rsort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE --\n";
        !            62: $temp_array = $unsorted_strings;
        !            63: var_dump( rsort($temp_array, SORT_NATURAL|SORT_FLAG_CASE) ); // expecting : bool(true)
        !            64: var_dump( $temp_array);
        !            65: 
1.1       misho      66: echo "\n-- Testing rsort() by supplying numeric array, 'flag' = SORT_NUMERIC --\n";
                     67: $temp_array = $unsorted_numerics;
                     68: var_dump( rsort($temp_array, SORT_NUMERIC) );
                     69: var_dump( $temp_array);
                     70: 
                     71: echo "Done";
                     72: ?>
                     73: 
                     74: --EXPECTF--
                     75: *** Testing rsort() : basic functionality ***
                     76: 
                     77: -- Testing rsort() by supplying string array, 'flag' value is defualt --
                     78: bool(true)
1.1.1.2 ! misho      79: array(8) {
1.1       misho      80:   [0]=>
1.1.1.2 ! misho      81:   string(8) "orange20"
1.1       misho      82:   [1]=>
1.1.1.2 ! misho      83:   string(7) "orange2"
1.1       misho      84:   [2]=>
1.1.1.2 ! misho      85:   string(6) "orange"
        !            86:   [3]=>
        !            87:   string(5) "lemon"
        !            88:   [4]=>
1.1       misho      89:   string(6) "banana"
1.1.1.2 ! misho      90:   [5]=>
        !            91:   string(7) "Orange3"
        !            92:   [6]=>
        !            93:   string(7) "Orange1"
        !            94:   [7]=>
        !            95:   string(6) "Orange"
1.1       misho      96: }
                     97: 
                     98: -- Testing rsort() by supplying numeric array, 'flag' value is defualt --
                     99: bool(true)
                    100: array(4) {
                    101:   [0]=>
                    102:   int(555)
                    103:   [1]=>
                    104:   int(100)
                    105:   [2]=>
                    106:   int(33)
                    107:   [3]=>
                    108:   int(22)
                    109: }
                    110: 
                    111: -- Testing rsort() by supplying string array, 'flag' = SORT_REGULAR --
                    112: bool(true)
1.1.1.2 ! misho     113: array(8) {
1.1       misho     114:   [0]=>
1.1.1.2 ! misho     115:   string(8) "orange20"
1.1       misho     116:   [1]=>
1.1.1.2 ! misho     117:   string(7) "orange2"
1.1       misho     118:   [2]=>
1.1.1.2 ! misho     119:   string(6) "orange"
        !           120:   [3]=>
        !           121:   string(5) "lemon"
        !           122:   [4]=>
1.1       misho     123:   string(6) "banana"
1.1.1.2 ! misho     124:   [5]=>
        !           125:   string(7) "Orange3"
        !           126:   [6]=>
        !           127:   string(7) "Orange1"
        !           128:   [7]=>
        !           129:   string(6) "Orange"
1.1       misho     130: }
                    131: 
                    132: -- Testing rsort() by supplying numeric array, 'flag' = SORT_REGULAR --
                    133: bool(true)
                    134: array(4) {
                    135:   [0]=>
                    136:   int(555)
                    137:   [1]=>
                    138:   int(100)
                    139:   [2]=>
                    140:   int(33)
                    141:   [3]=>
                    142:   int(22)
                    143: }
                    144: 
                    145: -- Testing rsort() by supplying string array, 'flag' = SORT_STRING --
                    146: bool(true)
1.1.1.2 ! misho     147: array(8) {
        !           148:   [0]=>
        !           149:   string(8) "orange20"
        !           150:   [1]=>
        !           151:   string(7) "orange2"
        !           152:   [2]=>
        !           153:   string(6) "orange"
        !           154:   [3]=>
        !           155:   string(5) "lemon"
        !           156:   [4]=>
        !           157:   string(6) "banana"
        !           158:   [5]=>
        !           159:   string(7) "Orange3"
        !           160:   [6]=>
        !           161:   string(7) "Orange1"
        !           162:   [7]=>
        !           163:   string(6) "Orange"
        !           164: }
        !           165: 
        !           166: -- Testing rsort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE --
        !           167: bool(true)
        !           168: array(8) {
1.1       misho     169:   [0]=>
1.1.1.2 ! misho     170:   string(7) "Orange3"
        !           171:   [1]=>
        !           172:   string(8) "orange20"
        !           173:   [2]=>
        !           174:   string(7) "orange2"
        !           175:   [3]=>
        !           176:   string(7) "Orange1"
        !           177:   [4]=>
1.1       misho     178:   string(6) "orange"
1.1.1.2 ! misho     179:   [5]=>
        !           180:   string(6) "Orange"
        !           181:   [6]=>
        !           182:   string(5) "lemon"
        !           183:   [7]=>
        !           184:   string(6) "banana"
        !           185: }
        !           186: 
        !           187: -- Testing rsort() by supplying string array (natural), 'flag' = SORT_NATURAL --
        !           188: bool(true)
        !           189: array(8) {
        !           190:   [0]=>
        !           191:   string(8) "orange20"
1.1       misho     192:   [1]=>
1.1.1.2 ! misho     193:   string(7) "orange2"
        !           194:   [2]=>
        !           195:   string(6) "orange"
        !           196:   [3]=>
1.1       misho     197:   string(5) "lemon"
1.1.1.2 ! misho     198:   [4]=>
        !           199:   string(6) "banana"
        !           200:   [5]=>
        !           201:   string(7) "Orange3"
        !           202:   [6]=>
        !           203:   string(7) "Orange1"
        !           204:   [7]=>
        !           205:   string(6) "Orange"
        !           206: }
        !           207: 
        !           208: -- Testing rsort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE --
        !           209: bool(true)
        !           210: array(8) {
        !           211:   [0]=>
        !           212:   string(8) "orange20"
        !           213:   [1]=>
        !           214:   string(7) "Orange3"
1.1       misho     215:   [2]=>
1.1.1.2 ! misho     216:   string(7) "orange2"
        !           217:   [3]=>
        !           218:   string(7) "Orange1"
        !           219:   [4]=>
        !           220:   string(6) "orange"
        !           221:   [5]=>
        !           222:   string(6) "Orange"
        !           223:   [6]=>
        !           224:   string(5) "lemon"
        !           225:   [7]=>
1.1       misho     226:   string(6) "banana"
                    227: }
                    228: 
                    229: -- Testing rsort() by supplying numeric array, 'flag' = SORT_NUMERIC --
                    230: bool(true)
                    231: array(4) {
                    232:   [0]=>
                    233:   int(555)
                    234:   [1]=>
                    235:   int(100)
                    236:   [2]=>
                    237:   int(33)
                    238:   [3]=>
                    239:   int(22)
                    240: }
                    241: Done

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