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

1.1       misho       1: --TEST--
                      2: Test asort() function : usage variations - sort mixed values, 'sort_flags' as default/SORT_REGULAR (OK to fail as result is unpredectable)
                      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 mixed value array 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: // mixed value array with different key values
                     20: $mixed_values = array (
                     21:   "array1" => array(), 
                     22:   "array2" => array ( "sub_array[2,1]" => array(33,-5,6), "sub_array[2,2]" => array(11), 
                     23:                       "sub_array[2,3]" => array(22,-55), "sub_array[2,4]" => array() 
                     24:                     ),
                     25:   4 => 4, "4" => "4", 4.01 => 4.01, "b" => "b", "5" => "5", -2 => -2, -2.01 => -2.01, 
                     26:   -2.98989 => -2.98989, "-.9" => "-.9", "True" => "True", "" =>  "", NULL => NULL,
                     27:   "ab" => "ab", "abcd" => "abcd", 0.01 => 0.01, -0 => -0, '' => '' ,
                     28:   "abcd\x00abcd\x00abcd" => "abcd\x00abcd\x00abcd", 0.001 => 0.001
                     29: );
                     30: 
                     31: echo "\n-- Testing asort() by supplying mixed value array, 'flag' value is default --\n";
                     32: $temp_array = $mixed_values;
                     33: var_dump( asort($temp_array) );
                     34: var_dump($temp_array);
                     35: 
                     36: echo "\n-- Testing asort() by supplying mixed value array, 'flag' value is SORT_REGULAR --\n";
                     37: $temp_array = $mixed_values;
                     38: var_dump( asort($temp_array, SORT_REGULAR) );
                     39: var_dump($temp_array);
                     40: 
                     41: echo "Done\n";
                     42: ?>
                     43: --EXPECTF--
                     44: *** Testing asort() : usage variations ***
                     45: 
                     46: -- Testing asort() by supplying mixed value array, 'flag' value is default --
                     47: bool(true)
                     48: array(13) {
                     49:   [-2]=>
                     50:   float(-2.98989)
                     51:   [""]=>
                     52:   string(0) ""
                     53:   ["-.9"]=>
                     54:   string(3) "-.9"
                     55:   [5]=>
                     56:   string(1) "5"
                     57:   ["True"]=>
                     58:   string(4) "True"
                     59:   ["ab"]=>
                     60:   string(2) "ab"
                     61:   ["abcd"]=>
                     62:   string(4) "abcd"
                     63:   ["abcdabcdabcd"]=>
                     64:   string(14) "abcdabcdabcd"
                     65:   ["b"]=>
                     66:   string(1) "b"
                     67:   [0]=>
                     68:   float(0.001)
                     69:   [4]=>
                     70:   float(4.01)
                     71:   ["array1"]=>
                     72:   array(0) {
                     73:   }
                     74:   ["array2"]=>
                     75:   array(4) {
                     76:     ["sub_array[2,1]"]=>
                     77:     array(3) {
                     78:       [0]=>
                     79:       int(33)
                     80:       [1]=>
                     81:       int(-5)
                     82:       [2]=>
                     83:       int(6)
                     84:     }
                     85:     ["sub_array[2,2]"]=>
                     86:     array(1) {
                     87:       [0]=>
                     88:       int(11)
                     89:     }
                     90:     ["sub_array[2,3]"]=>
                     91:     array(2) {
                     92:       [0]=>
                     93:       int(22)
                     94:       [1]=>
                     95:       int(-55)
                     96:     }
                     97:     ["sub_array[2,4]"]=>
                     98:     array(0) {
                     99:     }
                    100:   }
                    101: }
                    102: 
                    103: -- Testing asort() by supplying mixed value array, 'flag' value is SORT_REGULAR --
                    104: bool(true)
                    105: array(13) {
                    106:   [-2]=>
                    107:   float(-2.98989)
                    108:   [""]=>
                    109:   string(0) ""
                    110:   ["-.9"]=>
                    111:   string(3) "-.9"
                    112:   [5]=>
                    113:   string(1) "5"
                    114:   ["True"]=>
                    115:   string(4) "True"
                    116:   ["ab"]=>
                    117:   string(2) "ab"
                    118:   ["abcd"]=>
                    119:   string(4) "abcd"
                    120:   ["abcdabcdabcd"]=>
                    121:   string(14) "abcdabcdabcd"
                    122:   ["b"]=>
                    123:   string(1) "b"
                    124:   [0]=>
                    125:   float(0.001)
                    126:   [4]=>
                    127:   float(4.01)
                    128:   ["array1"]=>
                    129:   array(0) {
                    130:   }
                    131:   ["array2"]=>
                    132:   array(4) {
                    133:     ["sub_array[2,1]"]=>
                    134:     array(3) {
                    135:       [0]=>
                    136:       int(33)
                    137:       [1]=>
                    138:       int(-5)
                    139:       [2]=>
                    140:       int(6)
                    141:     }
                    142:     ["sub_array[2,2]"]=>
                    143:     array(1) {
                    144:       [0]=>
                    145:       int(11)
                    146:     }
                    147:     ["sub_array[2,3]"]=>
                    148:     array(2) {
                    149:       [0]=>
                    150:       int(22)
                    151:       [1]=>
                    152:       int(-55)
                    153:     }
                    154:     ["sub_array[2,4]"]=>
                    155:     array(0) {
                    156:     }
                    157:   }
                    158: }
                    159: Done

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