在 php 编程中,如果遇到数组的元素过多,不方便处理的情况下。我们可以通过分割数组的方法,将其变成一个个的小数组块,这样再处理就方便很多了。

php 中预设了一个 array_chunk() 函数,可以将一个数组的元素,按照一定的数量分割成多个数组块。

php array_chunk() 函数

array_chunk():函数把一个数组分割为新的数组块。

语法:

array_chunk(array,size,preserve_keys);

参数:

array:规定被处理的数组

size:规定每个数组块中被分配几个元素

preserve_key:(可选)是否保留原始数组的键名,True,保留,False,不保留(默认)

php array_chunk() 函数分割数组的方法

1、php分割一个数组,并保留原始的键名

php代码:

<?php
$arr = array('a' => 'red','b' => 'green','c' => 'blur','d' => 'black');
print_r(array_chunk($arr,2,true));
?>

运行结果:

Array
(
    [0] => Array
        (
            [a] => red
            [b] => green
        )
    [1] => Array
        (
            [c] => blur
            [d] => black
        )
)

2、php把一个数组分割成多个数组块

php代码:

<?php
$arr = array('beijing','shanghai','hangzhou','guangzhou','guangdong');
print_r(array_chunk($arr,2,true));
?>

运行结果:

Array
(
    [0] => Array
        (
            [0] => beijing
            [1] => shanghai
        )
    [1] => Array
        (
            [2] => hangzhou
            [3] => guangzhou
        )
    [2] => Array
        (
            [4] => guangdong
        )
)

PS:如果元素不能平均分配,则最后一个数组块的元素数量就会减少

php array_chunk() 函数使用注意事项

1、如果 array_chunk() 函数处理的数组过大,会造成内存溢出

2、array_chunk() 只能把数组分割成多个独立的数组块,并不是独立的数组变量