003.phpt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. --TEST--
  2. Test usort, uksort and uasort
  3. --INI--
  4. precision=14
  5. --FILE--
  6. <?php
  7. require(__DIR__ . '/data.inc');
  8. function cmp ($a, $b) {
  9. is_array ($a)
  10. and $a = array_sum ($a);
  11. is_array ($b)
  12. and $b = array_sum ($b);
  13. return strcmp ($a, $b);
  14. }
  15. echo " -- Testing uasort() -- \n";
  16. uasort ($data, 'cmp');
  17. var_dump ($data);
  18. echo "\n -- Testing uksort() -- \n";
  19. uksort ($data, 'cmp');
  20. var_dump ($data);
  21. echo "\n -- Testing usort() -- \n";
  22. usort ($data, 'cmp');
  23. var_dump ($data);
  24. ?>
  25. --EXPECT--
  26. -- Testing uasort() --
  27. array(8) {
  28. [16777216]=>
  29. float(-0.3333333333333333)
  30. [-1000]=>
  31. array(2) {
  32. [0]=>
  33. string(6) "banana"
  34. [1]=>
  35. string(6) "orange"
  36. }
  37. ["test"]=>
  38. int(27)
  39. [0]=>
  40. string(3) "PHP"
  41. [17]=>
  42. string(27) "PHP: Hypertext Preprocessor"
  43. [5]=>
  44. string(4) "Test"
  45. [1001]=>
  46. string(6) "monkey"
  47. [1000]=>
  48. string(4) "test"
  49. }
  50. -- Testing uksort() --
  51. array(8) {
  52. [-1000]=>
  53. array(2) {
  54. [0]=>
  55. string(6) "banana"
  56. [1]=>
  57. string(6) "orange"
  58. }
  59. [0]=>
  60. string(3) "PHP"
  61. [1000]=>
  62. string(4) "test"
  63. [1001]=>
  64. string(6) "monkey"
  65. [16777216]=>
  66. float(-0.3333333333333333)
  67. [17]=>
  68. string(27) "PHP: Hypertext Preprocessor"
  69. [5]=>
  70. string(4) "Test"
  71. ["test"]=>
  72. int(27)
  73. }
  74. -- Testing usort() --
  75. array(8) {
  76. [0]=>
  77. float(-0.3333333333333333)
  78. [1]=>
  79. array(2) {
  80. [0]=>
  81. string(6) "banana"
  82. [1]=>
  83. string(6) "orange"
  84. }
  85. [2]=>
  86. int(27)
  87. [3]=>
  88. string(3) "PHP"
  89. [4]=>
  90. string(27) "PHP: Hypertext Preprocessor"
  91. [5]=>
  92. string(4) "Test"
  93. [6]=>
  94. string(6) "monkey"
  95. [7]=>
  96. string(4) "test"
  97. }