php-src/ext/standard/tests/array/array_chunk_variation5.phpt
2007-12-03 03:54:11 +00:00

149 lines
2.5 KiB
PHP

--TEST--
Test array_chunk() function : usage variations - different 'size' values
--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 with following conditions
* 1. -ve size value
* 2. size value is more than the no. of elements in the input array
* 3. size value is zero
* 4. Decimal size value
*/
echo "*** Testing array_chunk() : usage variations ***\n";
// input array
$input_array = array(1, 2, 3);
// different magnitude's
$sizes = array(-1, count($input_array) + 1, 0, 1.5);
// loop through the array for size argument
foreach ($sizes as $size){
echo "\n-- Testing array_chunk() when size = $size --\n";
var_dump( array_chunk($input_array, $size) );
var_dump( array_chunk($input_array, $size, true) );
var_dump( array_chunk($input_array, $size, false) );
}
echo "Done";
?>
--EXPECTF--
*** Testing array_chunk() : usage variations ***
-- Testing array_chunk() when size = -1 --
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
-- Testing array_chunk() when size = 4 --
array(1) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
}
array(1) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
}
array(1) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
}
-- Testing array_chunk() when size = 0 --
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
NULL
-- Testing array_chunk() when size = 1.5 --
array(3) {
[0]=>
array(1) {
[0]=>
int(1)
}
[1]=>
array(1) {
[0]=>
int(2)
}
[2]=>
array(1) {
[0]=>
int(3)
}
}
array(3) {
[0]=>
array(1) {
[0]=>
int(1)
}
[1]=>
array(1) {
[1]=>
int(2)
}
[2]=>
array(1) {
[2]=>
int(3)
}
}
array(3) {
[0]=>
array(1) {
[0]=>
int(1)
}
[1]=>
array(1) {
[0]=>
int(2)
}
[2]=>
array(1) {
[0]=>
int(3)
}
}
Done