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