basic.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. --TEST--
  2. Basic array unpacking
  3. --FILE--
  4. <?php
  5. $array = [1, 2, 3];
  6. function getArr() {
  7. return [4, 5];
  8. }
  9. function arrGen() {
  10. for($i = 11; $i < 15; $i++) {
  11. yield $i;
  12. }
  13. }
  14. var_dump([...[]]);
  15. var_dump([...[1, 2, 3]]);
  16. var_dump([...$array]);
  17. var_dump([...getArr()]);
  18. var_dump([...arrGen()]);
  19. var_dump([...new ArrayIterator(['a', 'b', 'c'])]);
  20. var_dump([0, ...$array, ...getArr(), 6, 7, 8, 9, 10, ...arrGen()]);
  21. var_dump([0, ...$array, ...$array, 'end']);
  22. ?>
  23. --EXPECT--
  24. array(0) {
  25. }
  26. array(3) {
  27. [0]=>
  28. int(1)
  29. [1]=>
  30. int(2)
  31. [2]=>
  32. int(3)
  33. }
  34. array(3) {
  35. [0]=>
  36. int(1)
  37. [1]=>
  38. int(2)
  39. [2]=>
  40. int(3)
  41. }
  42. array(2) {
  43. [0]=>
  44. int(4)
  45. [1]=>
  46. int(5)
  47. }
  48. array(4) {
  49. [0]=>
  50. int(11)
  51. [1]=>
  52. int(12)
  53. [2]=>
  54. int(13)
  55. [3]=>
  56. int(14)
  57. }
  58. array(3) {
  59. [0]=>
  60. string(1) "a"
  61. [1]=>
  62. string(1) "b"
  63. [2]=>
  64. string(1) "c"
  65. }
  66. array(15) {
  67. [0]=>
  68. int(0)
  69. [1]=>
  70. int(1)
  71. [2]=>
  72. int(2)
  73. [3]=>
  74. int(3)
  75. [4]=>
  76. int(4)
  77. [5]=>
  78. int(5)
  79. [6]=>
  80. int(6)
  81. [7]=>
  82. int(7)
  83. [8]=>
  84. int(8)
  85. [9]=>
  86. int(9)
  87. [10]=>
  88. int(10)
  89. [11]=>
  90. int(11)
  91. [12]=>
  92. int(12)
  93. [13]=>
  94. int(13)
  95. [14]=>
  96. int(14)
  97. }
  98. array(8) {
  99. [0]=>
  100. int(0)
  101. [1]=>
  102. int(1)
  103. [2]=>
  104. int(2)
  105. [3]=>
  106. int(3)
  107. [4]=>
  108. int(1)
  109. [5]=>
  110. int(2)
  111. [6]=>
  112. int(3)
  113. [7]=>
  114. string(3) "end"
  115. }