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

1.1       misho       1: --TEST--
                      2: Test krsort() function : usage variations - sort integer/float values 
                      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/float/mixed values for $array argument
                     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: */
                     17: 
                     18: echo "*** Testing krsort() : usage variations ***\n";
                     19: 
                     20: // diff. associative arrays to sort
                     21: $various_arrays = array(
                     22:   // negative/posative integer key value array
                     23:   array(1 => 11, -2 => -11, 3 => 21, -4 => -21, 5 => 31, -6 => -31, 7 => 0, 8 => 41, -10 =>-41),
                     24: 
                     25:   // float key values
                     26:   array(1.0 => 10.5, 0.2 => -10.5, 3.1 => 10.5e2, 4 => 10.6E-2, .5 => .5, 6 => .0001, -7 => -.1), 
                     27: 
                     28:   // mixed value array with different types of keys
                     29:   array(1 => .0001, 2 => .0021, -3 => -.01, 4 => -1, 5 => 0, 6 => .09, 7 => 2, -8 => -.9, 9 => 10.6E-2,
                     30:         -10 => -10.6E-2, 11 => 33)
                     31: );
                     32: 
                     33: // set of possible flag values
                     34: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_NUMERIC" => SORT_NUMERIC);
                     35: 
                     36: $count = 1;
                     37: echo "\n-- Testing krsort() by supplying various integer/float arrays --\n";
                     38: 
                     39: // loop through to test krsort() with different arrays
                     40: foreach ($various_arrays as $array) {
                     41:   echo "\n-- Iteration $count --\n";
                     42: 
                     43:   echo "- With defualt sort flag -\n"; 
                     44:   $temp_array = $array; 
                     45:   var_dump(krsort($temp_array) );
                     46:   var_dump($temp_array);
                     47: 
                     48:   // loop through $flags array and call krsort() with all possible sort flag values
                     49:   foreach($flags as $key => $flag){
                     50:     echo "- Sort flag = $key -\n";
                     51:     $temp_array = $array; 
                     52:     var_dump(krsort($temp_array, $flag) );
                     53:     var_dump($temp_array);
                     54:   }  
                     55:   $count++;
                     56: } 
                     57: 
                     58: echo "Done\n";
                     59: ?>
                     60: --EXPECTF--
                     61: *** Testing krsort() : usage variations ***
                     62: 
                     63: -- Testing krsort() by supplying various integer/float arrays --
                     64: 
                     65: -- Iteration 1 --
                     66: - With defualt sort flag -
                     67: bool(true)
                     68: array(9) {
                     69:   [8]=>
                     70:   int(41)
                     71:   [7]=>
                     72:   int(0)
                     73:   [5]=>
                     74:   int(31)
                     75:   [3]=>
                     76:   int(21)
                     77:   [1]=>
                     78:   int(11)
                     79:   [-2]=>
                     80:   int(-11)
                     81:   [-4]=>
                     82:   int(-21)
                     83:   [-6]=>
                     84:   int(-31)
                     85:   [-10]=>
                     86:   int(-41)
                     87: }
                     88: - Sort flag = SORT_REGULAR -
                     89: bool(true)
                     90: array(9) {
                     91:   [8]=>
                     92:   int(41)
                     93:   [7]=>
                     94:   int(0)
                     95:   [5]=>
                     96:   int(31)
                     97:   [3]=>
                     98:   int(21)
                     99:   [1]=>
                    100:   int(11)
                    101:   [-2]=>
                    102:   int(-11)
                    103:   [-4]=>
                    104:   int(-21)
                    105:   [-6]=>
                    106:   int(-31)
                    107:   [-10]=>
                    108:   int(-41)
                    109: }
                    110: - Sort flag = SORT_NUMERIC -
                    111: bool(true)
                    112: array(9) {
                    113:   [8]=>
                    114:   int(41)
                    115:   [7]=>
                    116:   int(0)
                    117:   [5]=>
                    118:   int(31)
                    119:   [3]=>
                    120:   int(21)
                    121:   [1]=>
                    122:   int(11)
                    123:   [-2]=>
                    124:   int(-11)
                    125:   [-4]=>
                    126:   int(-21)
                    127:   [-6]=>
                    128:   int(-31)
                    129:   [-10]=>
                    130:   int(-41)
                    131: }
                    132: 
                    133: -- Iteration 2 --
                    134: - With defualt sort flag -
                    135: bool(true)
                    136: array(6) {
                    137:   [6]=>
                    138:   float(0.0001)
                    139:   [4]=>
                    140:   float(0.106)
                    141:   [3]=>
                    142:   float(1050)
                    143:   [1]=>
                    144:   float(10.5)
                    145:   [0]=>
                    146:   float(0.5)
                    147:   [-7]=>
                    148:   float(-0.1)
                    149: }
                    150: - Sort flag = SORT_REGULAR -
                    151: bool(true)
                    152: array(6) {
                    153:   [6]=>
                    154:   float(0.0001)
                    155:   [4]=>
                    156:   float(0.106)
                    157:   [3]=>
                    158:   float(1050)
                    159:   [1]=>
                    160:   float(10.5)
                    161:   [0]=>
                    162:   float(0.5)
                    163:   [-7]=>
                    164:   float(-0.1)
                    165: }
                    166: - Sort flag = SORT_NUMERIC -
                    167: bool(true)
                    168: array(6) {
                    169:   [6]=>
                    170:   float(0.0001)
                    171:   [4]=>
                    172:   float(0.106)
                    173:   [3]=>
                    174:   float(1050)
                    175:   [1]=>
                    176:   float(10.5)
                    177:   [0]=>
                    178:   float(0.5)
                    179:   [-7]=>
                    180:   float(-0.1)
                    181: }
                    182: 
                    183: -- Iteration 3 --
                    184: - With defualt sort flag -
                    185: bool(true)
                    186: array(11) {
                    187:   [11]=>
                    188:   int(33)
                    189:   [9]=>
                    190:   float(0.106)
                    191:   [7]=>
                    192:   int(2)
                    193:   [6]=>
                    194:   float(0.09)
                    195:   [5]=>
                    196:   int(0)
                    197:   [4]=>
                    198:   int(-1)
                    199:   [2]=>
                    200:   float(0.0021)
                    201:   [1]=>
                    202:   float(0.0001)
                    203:   [-3]=>
                    204:   float(-0.01)
                    205:   [-8]=>
                    206:   float(-0.9)
                    207:   [-10]=>
                    208:   float(-0.106)
                    209: }
                    210: - Sort flag = SORT_REGULAR -
                    211: bool(true)
                    212: array(11) {
                    213:   [11]=>
                    214:   int(33)
                    215:   [9]=>
                    216:   float(0.106)
                    217:   [7]=>
                    218:   int(2)
                    219:   [6]=>
                    220:   float(0.09)
                    221:   [5]=>
                    222:   int(0)
                    223:   [4]=>
                    224:   int(-1)
                    225:   [2]=>
                    226:   float(0.0021)
                    227:   [1]=>
                    228:   float(0.0001)
                    229:   [-3]=>
                    230:   float(-0.01)
                    231:   [-8]=>
                    232:   float(-0.9)
                    233:   [-10]=>
                    234:   float(-0.106)
                    235: }
                    236: - Sort flag = SORT_NUMERIC -
                    237: bool(true)
                    238: array(11) {
                    239:   [11]=>
                    240:   int(33)
                    241:   [9]=>
                    242:   float(0.106)
                    243:   [7]=>
                    244:   int(2)
                    245:   [6]=>
                    246:   float(0.09)
                    247:   [5]=>
                    248:   int(0)
                    249:   [4]=>
                    250:   int(-1)
                    251:   [2]=>
                    252:   float(0.0021)
                    253:   [1]=>
                    254:   float(0.0001)
                    255:   [-3]=>
                    256:   float(-0.01)
                    257:   [-8]=>
                    258:   float(-0.9)
                    259:   [-10]=>
                    260:   float(-0.106)
                    261: }
                    262: Done

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