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

1.1       misho       1: --TEST--
                      2: Test asort() function : usage variations - sort array with diff. sub arrays, '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 contains sub arrays for $array argument with flowing flag values
                     13:  * flag value as default
                     14:  * SORT_REGULAR - compare items normally
                     15:  * Note: arrays are sorted based on total count of elements inside it, when all the elements are arrays
                     16: */
                     17: 
                     18: echo "*** Testing asort() : usage variations ***\n";
                     19: 
                     20: // array of arrays
                     21: $various_arrays = array (
                     22:   // null array
                     23:   "array[0]" => array(),
                     24: 
                     25:   // array contains null sub array
                     26:   "array[1]" => array( "sub_array[1][0]" => array() ),
                     27: 
                     28:   // array of arrays along with some values
                     29:   "array[2]" => array("data[2,0]" => 44, "data[2,1]" => 11, "sub_array[2][0] " => array(64,61) ),
                     30: 
                     31:   // array contains sub arrays
                     32:   "array[3]" => array ( "sub_array[3][0]" => array(33,-5,6), "sub_array[3][1]" => array(11), 
                     33:                         "sub_array[3][2]" => array(22,-55), "sub_array[3][3]" => array() )
                     34: );
                     35: 
                     36: 
                     37: $count = 1;
                     38: echo "\n-- Testing asort() by supplying various arrays containing sub arrays --\n";
                     39: 
                     40: // loop through to test asort() with different arrays
                     41: foreach ($various_arrays as $array) {
                     42:  
                     43:   echo "\n-- Iteration $count --\n"; 
                     44:   // testing asort() function by supplying different arrays, flag value is default
                     45:   echo "- With default sort_flag -\n";
                     46:   $temp_array = $array;
                     47:   var_dump(asort($temp_array) );
                     48:   var_dump($temp_array);
                     49: 
                     50:   // testing asort() function by supplying different arrays, flag value = SORT_REGULAR
                     51:   echo "- Sort_flag = SORT_REGULAR -\n";
                     52:   $temp_array = $array;
                     53:   var_dump(asort($temp_array, SORT_REGULAR) );
                     54:   var_dump($temp_array);
                     55:   $count++;
                     56: }
                     57: 
                     58: echo "Done\n";
                     59: ?>
                     60: --EXPECTF--
                     61: *** Testing asort() : usage variations ***
                     62: 
                     63: -- Testing asort() by supplying various arrays containing sub arrays --
                     64: 
                     65: -- Iteration 1 --
                     66: - With default sort_flag -
                     67: bool(true)
                     68: array(0) {
                     69: }
                     70: - Sort_flag = SORT_REGULAR -
                     71: bool(true)
                     72: array(0) {
                     73: }
                     74: 
                     75: -- Iteration 2 --
                     76: - With default sort_flag -
                     77: bool(true)
                     78: array(1) {
                     79:   ["sub_array[1][0]"]=>
                     80:   array(0) {
                     81:   }
                     82: }
                     83: - Sort_flag = SORT_REGULAR -
                     84: bool(true)
                     85: array(1) {
                     86:   ["sub_array[1][0]"]=>
                     87:   array(0) {
                     88:   }
                     89: }
                     90: 
                     91: -- Iteration 3 --
                     92: - With default sort_flag -
                     93: bool(true)
                     94: array(3) {
                     95:   ["data[2,1]"]=>
                     96:   int(11)
                     97:   ["data[2,0]"]=>
                     98:   int(44)
                     99:   ["sub_array[2][0] "]=>
                    100:   array(2) {
                    101:     [0]=>
                    102:     int(64)
                    103:     [1]=>
                    104:     int(61)
                    105:   }
                    106: }
                    107: - Sort_flag = SORT_REGULAR -
                    108: bool(true)
                    109: array(3) {
                    110:   ["data[2,1]"]=>
                    111:   int(11)
                    112:   ["data[2,0]"]=>
                    113:   int(44)
                    114:   ["sub_array[2][0] "]=>
                    115:   array(2) {
                    116:     [0]=>
                    117:     int(64)
                    118:     [1]=>
                    119:     int(61)
                    120:   }
                    121: }
                    122: 
                    123: -- Iteration 4 --
                    124: - With default sort_flag -
                    125: bool(true)
                    126: array(4) {
                    127:   ["sub_array[3][3]"]=>
                    128:   array(0) {
                    129:   }
                    130:   ["sub_array[3][1]"]=>
                    131:   array(1) {
                    132:     [0]=>
                    133:     int(11)
                    134:   }
                    135:   ["sub_array[3][2]"]=>
                    136:   array(2) {
                    137:     [0]=>
                    138:     int(22)
                    139:     [1]=>
                    140:     int(-55)
                    141:   }
                    142:   ["sub_array[3][0]"]=>
                    143:   array(3) {
                    144:     [0]=>
                    145:     int(33)
                    146:     [1]=>
                    147:     int(-5)
                    148:     [2]=>
                    149:     int(6)
                    150:   }
                    151: }
                    152: - Sort_flag = SORT_REGULAR -
                    153: bool(true)
                    154: array(4) {
                    155:   ["sub_array[3][3]"]=>
                    156:   array(0) {
                    157:   }
                    158:   ["sub_array[3][1]"]=>
                    159:   array(1) {
                    160:     [0]=>
                    161:     int(11)
                    162:   }
                    163:   ["sub_array[3][2]"]=>
                    164:   array(2) {
                    165:     [0]=>
                    166:     int(22)
                    167:     [1]=>
                    168:     int(-55)
                    169:   }
                    170:   ["sub_array[3][0]"]=>
                    171:   array(3) {
                    172:     [0]=>
                    173:     int(33)
                    174:     [1]=>
                    175:     int(-5)
                    176:     [2]=>
                    177:     int(6)
                    178:   }
                    179: }
                    180: Done

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