Return to 002.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test arsort, asort, krsort, ksort, rsort, and sort 3: --INI-- 4: precision=14 5: --FILE-- 6: <?php 7: require(dirname(__FILE__) . '/data.inc'); 8: 9: function test_sort ($sort_function, $data) { 10: echo "\n -- Testing $sort_function() -- \n"; 11: echo "No second argument:\n"; 12: $sort_function ($data); 13: var_dump ($data); 14: echo "Using SORT_REGULAR:\n"; 15: $sort_function ($data, SORT_REGULAR); 16: var_dump ($data); 17: echo "Using SORT_NUMERIC:\n"; 18: $sort_function ($data, SORT_NUMERIC); 19: var_dump ($data); 20: echo "Using SORT_STRING\n"; 21: $sort_function ($data, SORT_STRING); 22: var_dump ($data); 23: } 24: 25: echo "Unsorted data:\n"; 26: var_dump ($data); 27: foreach (array ('arsort', 'asort', 'krsort', 'ksort', 'rsort', 'sort') as $test_function) { 28: test_sort ($test_function, $data); 29: } 30: 31: ?> 32: --EXPECTF-- 33: Unsorted data: 34: array(8) { 35: [0]=> 36: string(3) "PHP" 37: [17]=> 38: string(27) "PHP: Hypertext Preprocessor" 39: [5]=> 40: string(4) "Test" 41: ["test"]=> 42: int(27) 43: [1000]=> 44: string(4) "test" 45: [-1000]=> 46: array(2) { 47: [0]=> 48: string(6) "banana" 49: [1]=> 50: string(6) "orange" 51: } 52: [1001]=> 53: string(6) "monkey" 54: [16777216]=> 55: float(-0.33333333333333) 56: } 57: 58: -- Testing arsort() -- 59: No second argument: 60: array(8) { 61: [-1000]=> 62: array(2) { 63: [0]=> 64: string(6) "banana" 65: [1]=> 66: string(6) "orange" 67: } 68: ["test"]=> 69: int(27) 70: [1000]=> 71: string(4) "test" 72: [1001]=> 73: string(6) "monkey" 74: [5]=> 75: string(4) "Test" 76: [17]=> 77: string(27) "PHP: Hypertext Preprocessor" 78: [0]=> 79: string(3) "PHP" 80: [16777216]=> 81: float(-0.33333333333333) 82: } 83: Using SORT_REGULAR: 84: array(8) { 85: [-1000]=> 86: array(2) { 87: [0]=> 88: string(6) "banana" 89: [1]=> 90: string(6) "orange" 91: } 92: ["test"]=> 93: int(27) 94: [1000]=> 95: string(4) "test" 96: [1001]=> 97: string(6) "monkey" 98: [5]=> 99: string(4) "Test" 100: [17]=> 101: string(27) "PHP: Hypertext Preprocessor" 102: [0]=> 103: string(3) "PHP" 104: [16777216]=> 105: float(-0.33333333333333) 106: } 107: Using SORT_NUMERIC: 108: array(8) { 109: ["test"]=> 110: int(27) 111: [-1000]=> 112: array(2) { 113: [0]=> 114: string(6) "banana" 115: [1]=> 116: string(6) "orange" 117: } 118: [0]=> 119: string(3) "PHP" 120: [17]=> 121: string(27) "PHP: Hypertext Preprocessor" 122: [1001]=> 123: string(6) "monkey" 124: [5]=> 125: string(4) "Test" 126: [1000]=> 127: string(4) "test" 128: [16777216]=> 129: float(-0.33333333333333) 130: } 131: Using SORT_STRING 132: array(8) { 133: [1000]=> 134: string(4) "test" 135: [1001]=> 136: string(6) "monkey" 137: [5]=> 138: string(4) "Test" 139: [17]=> 140: string(27) "PHP: Hypertext Preprocessor" 141: [0]=> 142: string(3) "PHP" 143: [-1000]=> 144: array(2) { 145: [0]=> 146: string(6) "banana" 147: [1]=> 148: string(6) "orange" 149: } 150: ["test"]=> 151: int(27) 152: [16777216]=> 153: float(-0.33333333333333) 154: } 155: 156: -- Testing asort() -- 157: No second argument: 158: array(8) { 159: [16777216]=> 160: float(-0.33333333333333) 161: [0]=> 162: string(3) "PHP" 163: [17]=> 164: string(27) "PHP: Hypertext Preprocessor" 165: [5]=> 166: string(4) "Test" 167: [1001]=> 168: string(6) "monkey" 169: [1000]=> 170: string(4) "test" 171: ["test"]=> 172: int(27) 173: [-1000]=> 174: array(2) { 175: [0]=> 176: string(6) "banana" 177: [1]=> 178: string(6) "orange" 179: } 180: } 181: Using SORT_REGULAR: 182: array(8) { 183: [16777216]=> 184: float(-0.33333333333333) 185: [0]=> 186: string(3) "PHP" 187: [17]=> 188: string(27) "PHP: Hypertext Preprocessor" 189: [5]=> 190: string(4) "Test" 191: [1001]=> 192: string(6) "monkey" 193: [1000]=> 194: string(4) "test" 195: ["test"]=> 196: int(27) 197: [-1000]=> 198: array(2) { 199: [0]=> 200: string(6) "banana" 201: [1]=> 202: string(6) "orange" 203: } 204: } 205: Using SORT_NUMERIC: 206: array(8) { 207: [16777216]=> 208: float(-0.33333333333333) 209: [1001]=> 210: string(6) "monkey" 211: [1000]=> 212: string(4) "test" 213: [5]=> 214: string(4) "Test" 215: [17]=> 216: string(27) "PHP: Hypertext Preprocessor" 217: [0]=> 218: string(3) "PHP" 219: [-1000]=> 220: array(2) { 221: [0]=> 222: string(6) "banana" 223: [1]=> 224: string(6) "orange" 225: } 226: ["test"]=> 227: int(27) 228: } 229: Using SORT_STRING 230: array(8) { 231: [16777216]=> 232: float(-0.33333333333333) 233: ["test"]=> 234: int(27) 235: [-1000]=> 236: array(2) { 237: [0]=> 238: string(6) "banana" 239: [1]=> 240: string(6) "orange" 241: } 242: [0]=> 243: string(3) "PHP" 244: [17]=> 245: string(27) "PHP: Hypertext Preprocessor" 246: [5]=> 247: string(4) "Test" 248: [1001]=> 249: string(6) "monkey" 250: [1000]=> 251: string(4) "test" 252: } 253: 254: -- Testing krsort() -- 255: No second argument: 256: array(8) { 257: [16777216]=> 258: float(-0.33333333333333) 259: [1001]=> 260: string(6) "monkey" 261: [1000]=> 262: string(4) "test" 263: [17]=> 264: string(27) "PHP: Hypertext Preprocessor" 265: [5]=> 266: string(4) "Test" 267: ["test"]=> 268: int(27) 269: [0]=> 270: string(3) "PHP" 271: [-1000]=> 272: array(2) { 273: [0]=> 274: string(6) "banana" 275: [1]=> 276: string(6) "orange" 277: } 278: } 279: Using SORT_REGULAR: 280: array(8) { 281: [16777216]=> 282: float(-0.33333333333333) 283: [1001]=> 284: string(6) "monkey" 285: [1000]=> 286: string(4) "test" 287: [17]=> 288: string(27) "PHP: Hypertext Preprocessor" 289: [5]=> 290: string(4) "Test" 291: [0]=> 292: string(3) "PHP" 293: ["test"]=> 294: int(27) 295: [-1000]=> 296: array(2) { 297: [0]=> 298: string(6) "banana" 299: [1]=> 300: string(6) "orange" 301: } 302: } 303: Using SORT_NUMERIC: 304: array(8) { 305: [16777216]=> 306: float(-0.33333333333333) 307: [1001]=> 308: string(6) "monkey" 309: [1000]=> 310: string(4) "test" 311: [17]=> 312: string(27) "PHP: Hypertext Preprocessor" 313: [5]=> 314: string(4) "Test" 315: ["test"]=> 316: int(27) 317: [0]=> 318: string(3) "PHP" 319: [-1000]=> 320: array(2) { 321: [0]=> 322: string(6) "banana" 323: [1]=> 324: string(6) "orange" 325: } 326: } 327: Using SORT_STRING 328: array(8) { 329: ["test"]=> 330: int(27) 331: [5]=> 332: string(4) "Test" 333: [17]=> 334: string(27) "PHP: Hypertext Preprocessor" 335: [16777216]=> 336: float(-0.33333333333333) 337: [1001]=> 338: string(6) "monkey" 339: [1000]=> 340: string(4) "test" 341: [0]=> 342: string(3) "PHP" 343: [-1000]=> 344: array(2) { 345: [0]=> 346: string(6) "banana" 347: [1]=> 348: string(6) "orange" 349: } 350: } 351: 352: -- Testing ksort() -- 353: No second argument: 354: array(8) { 355: [-1000]=> 356: array(2) { 357: [0]=> 358: string(6) "banana" 359: [1]=> 360: string(6) "orange" 361: } 362: [0]=> 363: string(3) "PHP" 364: ["test"]=> 365: int(27) 366: [5]=> 367: string(4) "Test" 368: [17]=> 369: string(27) "PHP: Hypertext Preprocessor" 370: [1000]=> 371: string(4) "test" 372: [1001]=> 373: string(6) "monkey" 374: [16777216]=> 375: float(-0.33333333333333) 376: } 377: Using SORT_REGULAR: 378: array(8) { 379: [-1000]=> 380: array(2) { 381: [0]=> 382: string(6) "banana" 383: [1]=> 384: string(6) "orange" 385: } 386: ["test"]=> 387: int(27) 388: [0]=> 389: string(3) "PHP" 390: [5]=> 391: string(4) "Test" 392: [17]=> 393: string(27) "PHP: Hypertext Preprocessor" 394: [1000]=> 395: string(4) "test" 396: [1001]=> 397: string(6) "monkey" 398: [16777216]=> 399: float(-0.33333333333333) 400: } 401: Using SORT_NUMERIC: 402: array(8) { 403: [-1000]=> 404: array(2) { 405: [0]=> 406: string(6) "banana" 407: [1]=> 408: string(6) "orange" 409: } 410: [0]=> 411: string(3) "PHP" 412: ["test"]=> 413: int(27) 414: [5]=> 415: string(4) "Test" 416: [17]=> 417: string(27) "PHP: Hypertext Preprocessor" 418: [1000]=> 419: string(4) "test" 420: [1001]=> 421: string(6) "monkey" 422: [16777216]=> 423: float(-0.33333333333333) 424: } 425: Using SORT_STRING 426: array(8) { 427: [-1000]=> 428: array(2) { 429: [0]=> 430: string(6) "banana" 431: [1]=> 432: string(6) "orange" 433: } 434: [0]=> 435: string(3) "PHP" 436: [1000]=> 437: string(4) "test" 438: [1001]=> 439: string(6) "monkey" 440: [16777216]=> 441: float(-0.33333333333333) 442: [17]=> 443: string(27) "PHP: Hypertext Preprocessor" 444: [5]=> 445: string(4) "Test" 446: ["test"]=> 447: int(27) 448: } 449: 450: -- Testing rsort() -- 451: No second argument: 452: array(8) { 453: [0]=> 454: array(2) { 455: [0]=> 456: string(6) "banana" 457: [1]=> 458: string(6) "orange" 459: } 460: [1]=> 461: int(27) 462: [2]=> 463: string(4) "test" 464: [3]=> 465: string(6) "monkey" 466: [4]=> 467: string(4) "Test" 468: [5]=> 469: string(27) "PHP: Hypertext Preprocessor" 470: [6]=> 471: string(3) "PHP" 472: [7]=> 473: float(-0.33333333333333) 474: } 475: Using SORT_REGULAR: 476: array(8) { 477: [0]=> 478: array(2) { 479: [0]=> 480: string(6) "banana" 481: [1]=> 482: string(6) "orange" 483: } 484: [1]=> 485: int(27) 486: [2]=> 487: string(4) "test" 488: [3]=> 489: string(6) "monkey" 490: [4]=> 491: string(4) "Test" 492: [5]=> 493: string(27) "PHP: Hypertext Preprocessor" 494: [6]=> 495: string(3) "PHP" 496: [7]=> 497: float(-0.33333333333333) 498: } 499: Using SORT_NUMERIC: 500: array(8) { 501: [0]=> 502: int(27) 503: [1]=> 504: array(2) { 505: [0]=> 506: string(6) "banana" 507: [1]=> 508: string(6) "orange" 509: } 510: [2]=> 511: string(3) "PHP" 512: [3]=> 513: string(27) "PHP: Hypertext Preprocessor" 514: [4]=> 515: string(6) "monkey" 516: [5]=> 517: string(4) "Test" 518: [6]=> 519: string(4) "test" 520: [7]=> 521: float(-0.33333333333333) 522: } 523: Using SORT_STRING 524: array(8) { 525: [0]=> 526: string(4) "test" 527: [1]=> 528: string(6) "monkey" 529: [2]=> 530: string(4) "Test" 531: [3]=> 532: string(27) "PHP: Hypertext Preprocessor" 533: [4]=> 534: string(3) "PHP" 535: [5]=> 536: array(2) { 537: [0]=> 538: string(6) "banana" 539: [1]=> 540: string(6) "orange" 541: } 542: [6]=> 543: int(27) 544: [7]=> 545: float(-0.33333333333333) 546: } 547: 548: -- Testing sort() -- 549: No second argument: 550: array(8) { 551: [0]=> 552: float(-0.33333333333333) 553: [1]=> 554: string(3) "PHP" 555: [2]=> 556: string(27) "PHP: Hypertext Preprocessor" 557: [3]=> 558: string(4) "Test" 559: [4]=> 560: string(6) "monkey" 561: [5]=> 562: string(4) "test" 563: [6]=> 564: int(27) 565: [7]=> 566: array(2) { 567: [0]=> 568: string(6) "banana" 569: [1]=> 570: string(6) "orange" 571: } 572: } 573: Using SORT_REGULAR: 574: array(8) { 575: [0]=> 576: float(-0.33333333333333) 577: [1]=> 578: string(3) "PHP" 579: [2]=> 580: string(27) "PHP: Hypertext Preprocessor" 581: [3]=> 582: string(4) "Test" 583: [4]=> 584: string(6) "monkey" 585: [5]=> 586: string(4) "test" 587: [6]=> 588: int(27) 589: [7]=> 590: array(2) { 591: [0]=> 592: string(6) "banana" 593: [1]=> 594: string(6) "orange" 595: } 596: } 597: Using SORT_NUMERIC: 598: array(8) { 599: [0]=> 600: float(-0.33333333333333) 601: [1]=> 602: string(6) "monkey" 603: [2]=> 604: string(4) "test" 605: [3]=> 606: string(4) "Test" 607: [4]=> 608: string(27) "PHP: Hypertext Preprocessor" 609: [5]=> 610: string(3) "PHP" 611: [6]=> 612: array(2) { 613: [0]=> 614: string(6) "banana" 615: [1]=> 616: string(6) "orange" 617: } 618: [7]=> 619: int(27) 620: } 621: Using SORT_STRING 622: array(8) { 623: [0]=> 624: float(-0.33333333333333) 625: [1]=> 626: int(27) 627: [2]=> 628: array(2) { 629: [0]=> 630: string(6) "banana" 631: [1]=> 632: string(6) "orange" 633: } 634: [3]=> 635: string(3) "PHP" 636: [4]=> 637: string(27) "PHP: Hypertext Preprocessor" 638: [5]=> 639: string(4) "Test" 640: [6]=> 641: string(6) "monkey" 642: [7]=> 643: string(4) "test" 644: }