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

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

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