--TEST--
Test array_chunk() function : usage variations - array with diff. sub arrays  
--FILE--
<?php
/* Prototype  : array array_chunk(array $array, int $size [, bool $preserve_keys])
 * Description: Split array into chunks
 *            : Chunks an array into size large chunks
 * Source code: ext/standard/array.c
*/

/*
* Testing array_chunk() function - input array containing different sub arrays
*/

echo "*** Testing array_chunk() : usage variations ***\n";

$size 2;

// input array
$input_array = array (
  
"array1" => array(), 
  
"array2" => array(123), 
  
"array3" =>  array(1
);

echo 
"\n-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' as defualt --\n"
var_dumparray_chunk($input_array$size) );

echo 
"\n-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' = true --\n"
var_dumparray_chunk($input_array$sizetrue) );

echo 
"\n-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' = false --\n"
var_dumparray_chunk($input_array$sizefalse) );

echo 
"Done";
?>
--EXPECTF--
*** Testing array_chunk() : usage variations ***

-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' as defualt --
array(2) {
  [0]=>
  array(2) {
    [0]=>
    array(0) {
    }
    [1]=>
    array(3) {
      [0]=>
      int(1)
      [1]=>
      int(2)
      [2]=>
      int(3)
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      int(1)
    }
  }
}

-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' = true --
array(2) {
  [0]=>
  array(2) {
    ["array1"]=>
    array(0) {
    }
    ["array2"]=>
    array(3) {
      [0]=>
      int(1)
      [1]=>
      int(2)
      [2]=>
      int(3)
    }
  }
  [1]=>
  array(1) {
    ["array3"]=>
    array(1) {
      [0]=>
      int(1)
    }
  }
}

-- Testing array_chunk() by supplying an array containing different sub arrays & 'preserve_key' = false --
array(2) {
  [0]=>
  array(2) {
    [0]=>
    array(0) {
    }
    [1]=>
    array(3) {
      [0]=>
      int(1)
      [1]=>
      int(2)
      [2]=>
      int(3)
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      int(1)
    }
  }
}
Done