
定义和用法
array_chunk()函数将数组作为输入并将该数组拆分为给定大小的较小块。 根据数组中可用总数的倍数,最后一个数组块包含的实际元素数可能少于传递的大小。
语法
array array_chunk ( array $input, int $size [, bool $preserve_keys] );
参数
| 序号 | 参数及说明 | 
|---|---|
| 1 | $input(必填) 这是我们要拆分成较小块的输入数组。 这是必填参数。 | 
| 2 | $size(必填) 我们想要以$input的形式拆分传递的数组的每个块的大小。这也是必填参数。 | 
| 3 | reserve_keys(可选) 这是一个可选的布尔型参数,但当它设置为true时,将保留数组中的所有键。 如果不传递它,则其缺省值为false,这将以数字方式对块重新编制索引。 | 
返回值
PHP array_chunk()函数返回一个从零开始的多维数字索引数组,每个维都包含size个元素。
PHP版本
此函数最初是在PHP版本4.2.0中引入的。
错误/异常
如果传递的size小于1,则将引发E_WARNING,并返回NULL。
在线示例
让我们尝试一个简单的实例,将数组分成多个块,每个块由2个元素组成-
<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2));
?>测试看看‹/›这将产生以下结果,尝试观察每个较小数组的索引,所有三个块均从零开始-
Array ( [0] => Array ( [0] => abc [1] => bcd ) [1] => Array ( [0] => cde [1] => def ) [2] => Array ( [0] => efg ) )
在线示例
让我们再次尝试相同的实例,但这次我们将参数preserve_keys设置为true:
<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2, true));
?>测试看看‹/›这将产生以下结果,这次每个元素都像保留原始数组一样保留其索引值-
Array ( [0] => Array ( [0] => abc [1] => bcd ) [1] => Array ( [2] => cde [3] => def ) [2] => Array ( [4] => efg ) )
在线示例
以下示例为size参数传递了0值,因此引发了警告消息-
<?php
   //指定分割为大小为0的数组,将抛出错误
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 0));
?>测试看看‹/›输出结果
PHP Warning: array_chunk(): Size parameter expected to be greater than 0 in main.php on line 3
