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