Annotation of embedaddon/php/ext/standard/tests/array/ksort_variation3.phpt, revision 1.1

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

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