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

1.1     ! misho       1: --TEST--
        !             2: Test asort() function : usage variations - sort integer/float values
        !             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 different integer/float value arrays for $array argument with following 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 asort() : usage variations ***\n";
        !            19: 
        !            20: // group of various arrays with indices
        !            21: $various_arrays = array(
        !            22:   // negative/posative integer array
        !            23:   array(1 => 11, 2 => -11, 3 => 21, 4 => -21, 5 => 31, 6 => -31, 7 => 0, 8 => 41, 10 =>-41),
        !            24: 
        !            25:   // float value array
        !            26:   array(1 => 10.5, 2 => -10.5, 3 => 10.5e2, 4 => 10.6E-2, 5 => .5, 6 => .0001, 7 => -.1),
        !            27: 
        !            28:   // mixed value array
        !            29:   array(1 => .0001, 2 => .0021, 3 => -.01, 4 => -1, 5 => 0, 6 => .09, 7 => 2, 8 => -.9, 9 => 10.6E-2, 10 => -10.6E-2, 11 => 33),
        !            30:  
        !            31:   // array values contains minimum and maximum ranges
        !            32:   array(1 => 2147483647, 2 => 2147483648, 3 => -2147483647, 4 => -2147483648, 5 => -0, 6 => 0, 7 => -2147483649)
        !            33: );
        !            34: 
        !            35: // set of possible flag values
        !            36: $flag_value = array("SORT_REGULAR" => SORT_REGULAR, "SORT_NUMERIC" => SORT_NUMERIC);
        !            37: 
        !            38: $count = 1;
        !            39: echo "\n-- Testing asort() by supplying various integer/float arrays --\n";
        !            40: 
        !            41: // loop through to test asort() with different arrays
        !            42: foreach ($various_arrays as $array) {
        !            43:   echo "\n-- Iteration $count --\n";
        !            44: 
        !            45:   echo "- With default sort_flag -\n"; 
        !            46:   $temp_array = $array; 
        !            47:   var_dump(asort($temp_array) );
        !            48:   var_dump($temp_array);
        !            49: 
        !            50:   // loop through $flag_value array and setting all possible flag values
        !            51:   foreach($flag_value as $key => $flag){
        !            52:     echo "- Sort_flag = $key -\n";
        !            53:     $temp_array = $array; 
        !            54:     var_dump(asort($temp_array, $flag) );
        !            55:     var_dump($temp_array);
        !            56:   }  
        !            57:   $count++;
        !            58: } 
        !            59: 
        !            60: echo "Done\n";
        !            61: ?>
        !            62: --EXPECTF--
        !            63: *** Testing asort() : usage variations ***
        !            64: 
        !            65: -- Testing asort() by supplying various integer/float arrays --
        !            66: 
        !            67: -- Iteration 1 --
        !            68: - With default sort_flag -
        !            69: bool(true)
        !            70: array(9) {
        !            71:   [10]=>
        !            72:   int(-41)
        !            73:   [6]=>
        !            74:   int(-31)
        !            75:   [4]=>
        !            76:   int(-21)
        !            77:   [2]=>
        !            78:   int(-11)
        !            79:   [7]=>
        !            80:   int(0)
        !            81:   [1]=>
        !            82:   int(11)
        !            83:   [3]=>
        !            84:   int(21)
        !            85:   [5]=>
        !            86:   int(31)
        !            87:   [8]=>
        !            88:   int(41)
        !            89: }
        !            90: - Sort_flag = SORT_REGULAR -
        !            91: bool(true)
        !            92: array(9) {
        !            93:   [10]=>
        !            94:   int(-41)
        !            95:   [6]=>
        !            96:   int(-31)
        !            97:   [4]=>
        !            98:   int(-21)
        !            99:   [2]=>
        !           100:   int(-11)
        !           101:   [7]=>
        !           102:   int(0)
        !           103:   [1]=>
        !           104:   int(11)
        !           105:   [3]=>
        !           106:   int(21)
        !           107:   [5]=>
        !           108:   int(31)
        !           109:   [8]=>
        !           110:   int(41)
        !           111: }
        !           112: - Sort_flag = SORT_NUMERIC -
        !           113: bool(true)
        !           114: array(9) {
        !           115:   [10]=>
        !           116:   int(-41)
        !           117:   [6]=>
        !           118:   int(-31)
        !           119:   [4]=>
        !           120:   int(-21)
        !           121:   [2]=>
        !           122:   int(-11)
        !           123:   [7]=>
        !           124:   int(0)
        !           125:   [1]=>
        !           126:   int(11)
        !           127:   [3]=>
        !           128:   int(21)
        !           129:   [5]=>
        !           130:   int(31)
        !           131:   [8]=>
        !           132:   int(41)
        !           133: }
        !           134: 
        !           135: -- Iteration 2 --
        !           136: - With default sort_flag -
        !           137: bool(true)
        !           138: array(7) {
        !           139:   [2]=>
        !           140:   float(-10.5)
        !           141:   [7]=>
        !           142:   float(-0.1)
        !           143:   [6]=>
        !           144:   float(0.0001)
        !           145:   [4]=>
        !           146:   float(0.106)
        !           147:   [5]=>
        !           148:   float(0.5)
        !           149:   [1]=>
        !           150:   float(10.5)
        !           151:   [3]=>
        !           152:   float(1050)
        !           153: }
        !           154: - Sort_flag = SORT_REGULAR -
        !           155: bool(true)
        !           156: array(7) {
        !           157:   [2]=>
        !           158:   float(-10.5)
        !           159:   [7]=>
        !           160:   float(-0.1)
        !           161:   [6]=>
        !           162:   float(0.0001)
        !           163:   [4]=>
        !           164:   float(0.106)
        !           165:   [5]=>
        !           166:   float(0.5)
        !           167:   [1]=>
        !           168:   float(10.5)
        !           169:   [3]=>
        !           170:   float(1050)
        !           171: }
        !           172: - Sort_flag = SORT_NUMERIC -
        !           173: bool(true)
        !           174: array(7) {
        !           175:   [2]=>
        !           176:   float(-10.5)
        !           177:   [7]=>
        !           178:   float(-0.1)
        !           179:   [6]=>
        !           180:   float(0.0001)
        !           181:   [4]=>
        !           182:   float(0.106)
        !           183:   [5]=>
        !           184:   float(0.5)
        !           185:   [1]=>
        !           186:   float(10.5)
        !           187:   [3]=>
        !           188:   float(1050)
        !           189: }
        !           190: 
        !           191: -- Iteration 3 --
        !           192: - With default sort_flag -
        !           193: bool(true)
        !           194: array(11) {
        !           195:   [4]=>
        !           196:   int(-1)
        !           197:   [8]=>
        !           198:   float(-0.9)
        !           199:   [10]=>
        !           200:   float(-0.106)
        !           201:   [3]=>
        !           202:   float(-0.01)
        !           203:   [5]=>
        !           204:   int(0)
        !           205:   [1]=>
        !           206:   float(0.0001)
        !           207:   [2]=>
        !           208:   float(0.0021)
        !           209:   [6]=>
        !           210:   float(0.09)
        !           211:   [9]=>
        !           212:   float(0.106)
        !           213:   [7]=>
        !           214:   int(2)
        !           215:   [11]=>
        !           216:   int(33)
        !           217: }
        !           218: - Sort_flag = SORT_REGULAR -
        !           219: bool(true)
        !           220: array(11) {
        !           221:   [4]=>
        !           222:   int(-1)
        !           223:   [8]=>
        !           224:   float(-0.9)
        !           225:   [10]=>
        !           226:   float(-0.106)
        !           227:   [3]=>
        !           228:   float(-0.01)
        !           229:   [5]=>
        !           230:   int(0)
        !           231:   [1]=>
        !           232:   float(0.0001)
        !           233:   [2]=>
        !           234:   float(0.0021)
        !           235:   [6]=>
        !           236:   float(0.09)
        !           237:   [9]=>
        !           238:   float(0.106)
        !           239:   [7]=>
        !           240:   int(2)
        !           241:   [11]=>
        !           242:   int(33)
        !           243: }
        !           244: - Sort_flag = SORT_NUMERIC -
        !           245: bool(true)
        !           246: array(11) {
        !           247:   [4]=>
        !           248:   int(-1)
        !           249:   [8]=>
        !           250:   float(-0.9)
        !           251:   [10]=>
        !           252:   float(-0.106)
        !           253:   [3]=>
        !           254:   float(-0.01)
        !           255:   [5]=>
        !           256:   int(0)
        !           257:   [1]=>
        !           258:   float(0.0001)
        !           259:   [2]=>
        !           260:   float(0.0021)
        !           261:   [6]=>
        !           262:   float(0.09)
        !           263:   [9]=>
        !           264:   float(0.106)
        !           265:   [7]=>
        !           266:   int(2)
        !           267:   [11]=>
        !           268:   int(33)
        !           269: }
        !           270: 
        !           271: -- Iteration 4 --
        !           272: - With default sort_flag -
        !           273: bool(true)
        !           274: array(7) {
        !           275:   [7]=>
        !           276:   %s(-2147483649)
        !           277:   [4]=>
        !           278:   %s(-2147483648)
        !           279:   [3]=>
        !           280:   int(-2147483647)
        !           281:   [6]=>
        !           282:   int(0)
        !           283:   [5]=>
        !           284:   int(0)
        !           285:   [1]=>
        !           286:   int(2147483647)
        !           287:   [2]=>
        !           288:   %s(2147483648)
        !           289: }
        !           290: - Sort_flag = SORT_REGULAR -
        !           291: bool(true)
        !           292: array(7) {
        !           293:   [7]=>
        !           294:   %s(-2147483649)
        !           295:   [4]=>
        !           296:   %s(-2147483648)
        !           297:   [3]=>
        !           298:   int(-2147483647)
        !           299:   [6]=>
        !           300:   int(0)
        !           301:   [5]=>
        !           302:   int(0)
        !           303:   [1]=>
        !           304:   int(2147483647)
        !           305:   [2]=>
        !           306:   %s(2147483648)
        !           307: }
        !           308: - Sort_flag = SORT_NUMERIC -
        !           309: bool(true)
        !           310: array(7) {
        !           311:   [7]=>
        !           312:   %s(-2147483649)
        !           313:   [4]=>
        !           314:   %s(-2147483648)
        !           315:   [3]=>
        !           316:   int(-2147483647)
        !           317:   [6]=>
        !           318:   int(0)
        !           319:   [5]=>
        !           320:   int(0)
        !           321:   [1]=>
        !           322:   int(2147483647)
        !           323:   [2]=>
        !           324:   %s(2147483648)
        !           325: }
        !           326: Done

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