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

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

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