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