array_chunk_variation7.phpt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. --TEST--
  2. Test array_chunk() function : usage variations - references
  3. --FILE--
  4. <?php
  5. /* Prototype : array array_chunk(array $array, int $size [, bool $preserve_keys])
  6. * Description: Split array into chunks
  7. * : Chunks an array into size large chunks
  8. * Source code: ext/standard/array.c
  9. */
  10. /*
  11. * Testing array_chunk() function with following conditions
  12. * 1. input array containing references
  13. */
  14. echo "*** Testing array_chunk() : usage variations ***\n";
  15. $size = 2;
  16. echo "\n-- Testing array_chunk(), input array containing references \n";
  17. $numbers=array(1, 2, 3, 4);
  18. // reference array
  19. $input_array = array (
  20. "one" => &$numbers[0],
  21. "two" => &$numbers[1],
  22. "three" => &$numbers[2],
  23. "four" => &$numbers[3]
  24. );
  25. var_dump( array_chunk($input_array, $size) );
  26. var_dump( array_chunk($input_array, $size, true) );
  27. var_dump( array_chunk($input_array, $size, false) );
  28. echo "Done";
  29. ?>
  30. --EXPECTF--
  31. *** Testing array_chunk() : usage variations ***
  32. -- Testing array_chunk(), input array containing references
  33. array(2) {
  34. [0]=>
  35. array(2) {
  36. [0]=>
  37. &int(1)
  38. [1]=>
  39. &int(2)
  40. }
  41. [1]=>
  42. array(2) {
  43. [0]=>
  44. &int(3)
  45. [1]=>
  46. &int(4)
  47. }
  48. }
  49. array(2) {
  50. [0]=>
  51. array(2) {
  52. ["one"]=>
  53. &int(1)
  54. ["two"]=>
  55. &int(2)
  56. }
  57. [1]=>
  58. array(2) {
  59. ["three"]=>
  60. &int(3)
  61. ["four"]=>
  62. &int(4)
  63. }
  64. }
  65. array(2) {
  66. [0]=>
  67. array(2) {
  68. [0]=>
  69. &int(1)
  70. [1]=>
  71. &int(2)
  72. }
  73. [1]=>
  74. array(2) {
  75. [0]=>
  76. &int(3)
  77. [1]=>
  78. &int(4)
  79. }
  80. }
  81. Done