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

1.1       misho       1: --TEST--
                      2: Test rsort() function : usage variations - mixed associative arrays
                      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:  * Pass rsort() associative arrays to test key re-assignment
                     12:  */
                     13: 
                     14: echo "*** Testing rsort() : variation ***\n";
                     15: 
                     16: // Associative arrays
                     17: $various_arrays = array(
                     18:        // numeric assoc. only array
                     19:        array(5 => 55, 6 => 66, 2 => 22, 3 => 33, 1 => 11),
                     20: 
                     21:        // two-dimensional assoc. and default key array
                     22:        array("fruits"  => array("a" => "orange", "b" => "banana", "c" => "apple"),
                     23:          "numbers" => array(1, 2, 3, 4, 5, 6),
                     24:          "holes"   => array("first", 5 => "second", "third")),
                     25: 
                     26:        // numeric assoc. and default key array
                     27:        array(1, 1, 8 => 1,  4 => 1, 19, 3 => 13),
                     28: 
                     29:        // mixed assoc. array
                     30:        array('bar' => 'baz', "foo" => 1),
                     31: 
                     32:        // assoc. only multi-dimensional array
                     33:        array('a' => 1,'b' => array('e' => 2,'f' => 3),'c' => array('g' => 4),'d' => 5),
                     34: );
                     35: 
                     36: $count = 1;
                     37: 
                     38: // loop through to test rsort() with different arrays, 
                     39: // to test the new keys for the elements in the sorted array 
                     40: foreach ($various_arrays as $array) {
                     41:   echo "\n-- Iteration $count --\n";
                     42: 
                     43:   echo "-- Sort flag = default --\n";
                     44:   $temp_array = $array;
                     45:   var_dump(rsort($temp_array) );
                     46:   var_dump($temp_array);
                     47: 
                     48:   echo "-- Sort flag = SORT_REGULAR --\n";
                     49:   $temp_array = $array;
                     50:   var_dump(rsort($temp_array, SORT_REGULAR) );
                     51:   var_dump($temp_array);
                     52:   $count++;
                     53: }
                     54: 
                     55: echo "Done";
                     56: ?>
                     57: --EXPECTF--
                     58: *** Testing rsort() : variation ***
                     59: 
                     60: -- Iteration 1 --
                     61: -- Sort flag = default --
                     62: bool(true)
                     63: array(5) {
                     64:   [0]=>
                     65:   int(66)
                     66:   [1]=>
                     67:   int(55)
                     68:   [2]=>
                     69:   int(33)
                     70:   [3]=>
                     71:   int(22)
                     72:   [4]=>
                     73:   int(11)
                     74: }
                     75: -- Sort flag = SORT_REGULAR --
                     76: bool(true)
                     77: array(5) {
                     78:   [0]=>
                     79:   int(66)
                     80:   [1]=>
                     81:   int(55)
                     82:   [2]=>
                     83:   int(33)
                     84:   [3]=>
                     85:   int(22)
                     86:   [4]=>
                     87:   int(11)
                     88: }
                     89: 
                     90: -- Iteration 2 --
                     91: -- Sort flag = default --
                     92: bool(true)
                     93: array(3) {
                     94:   [0]=>
                     95:   array(6) {
                     96:     [0]=>
                     97:     int(1)
                     98:     [1]=>
                     99:     int(2)
                    100:     [2]=>
                    101:     int(3)
                    102:     [3]=>
                    103:     int(4)
                    104:     [4]=>
                    105:     int(5)
                    106:     [5]=>
                    107:     int(6)
                    108:   }
                    109:   [1]=>
                    110:   array(3) {
                    111:     [0]=>
                    112:     string(5) "first"
                    113:     [5]=>
                    114:     string(6) "second"
                    115:     [6]=>
                    116:     string(5) "third"
                    117:   }
                    118:   [2]=>
                    119:   array(3) {
                    120:     ["a"]=>
                    121:     string(6) "orange"
                    122:     ["b"]=>
                    123:     string(6) "banana"
                    124:     ["c"]=>
                    125:     string(5) "apple"
                    126:   }
                    127: }
                    128: -- Sort flag = SORT_REGULAR --
                    129: bool(true)
                    130: array(3) {
                    131:   [0]=>
                    132:   array(6) {
                    133:     [0]=>
                    134:     int(1)
                    135:     [1]=>
                    136:     int(2)
                    137:     [2]=>
                    138:     int(3)
                    139:     [3]=>
                    140:     int(4)
                    141:     [4]=>
                    142:     int(5)
                    143:     [5]=>
                    144:     int(6)
                    145:   }
                    146:   [1]=>
                    147:   array(3) {
                    148:     [0]=>
                    149:     string(5) "first"
                    150:     [5]=>
                    151:     string(6) "second"
                    152:     [6]=>
                    153:     string(5) "third"
                    154:   }
                    155:   [2]=>
                    156:   array(3) {
                    157:     ["a"]=>
                    158:     string(6) "orange"
                    159:     ["b"]=>
                    160:     string(6) "banana"
                    161:     ["c"]=>
                    162:     string(5) "apple"
                    163:   }
                    164: }
                    165: 
                    166: -- Iteration 3 --
                    167: -- Sort flag = default --
                    168: bool(true)
                    169: array(6) {
                    170:   [0]=>
                    171:   int(19)
                    172:   [1]=>
                    173:   int(13)
                    174:   [2]=>
                    175:   int(1)
                    176:   [3]=>
                    177:   int(1)
                    178:   [4]=>
                    179:   int(1)
                    180:   [5]=>
                    181:   int(1)
                    182: }
                    183: -- Sort flag = SORT_REGULAR --
                    184: bool(true)
                    185: array(6) {
                    186:   [0]=>
                    187:   int(19)
                    188:   [1]=>
                    189:   int(13)
                    190:   [2]=>
                    191:   int(1)
                    192:   [3]=>
                    193:   int(1)
                    194:   [4]=>
                    195:   int(1)
                    196:   [5]=>
                    197:   int(1)
                    198: }
                    199: 
                    200: -- Iteration 4 --
                    201: -- Sort flag = default --
                    202: bool(true)
                    203: array(2) {
                    204:   [0]=>
                    205:   int(1)
                    206:   [1]=>
                    207:   string(3) "baz"
                    208: }
                    209: -- Sort flag = SORT_REGULAR --
                    210: bool(true)
                    211: array(2) {
                    212:   [0]=>
                    213:   int(1)
                    214:   [1]=>
                    215:   string(3) "baz"
                    216: }
                    217: 
                    218: -- Iteration 5 --
                    219: -- Sort flag = default --
                    220: bool(true)
                    221: array(4) {
                    222:   [0]=>
                    223:   array(2) {
                    224:     ["e"]=>
                    225:     int(2)
                    226:     ["f"]=>
                    227:     int(3)
                    228:   }
                    229:   [1]=>
                    230:   array(1) {
                    231:     ["g"]=>
                    232:     int(4)
                    233:   }
                    234:   [2]=>
                    235:   int(5)
                    236:   [3]=>
                    237:   int(1)
                    238: }
                    239: -- Sort flag = SORT_REGULAR --
                    240: bool(true)
                    241: array(4) {
                    242:   [0]=>
                    243:   array(2) {
                    244:     ["e"]=>
                    245:     int(2)
                    246:     ["f"]=>
                    247:     int(3)
                    248:   }
                    249:   [1]=>
                    250:   array(1) {
                    251:     ["g"]=>
                    252:     int(4)
                    253:   }
                    254:   [2]=>
                    255:   int(5)
                    256:   [3]=>
                    257:   int(1)
                    258: }
                    259: Done

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