本文实例讲述了php array_chunk()函数用法与注意事项。分享给大家供大家参考,具体如下:
定义和用法
array_chunk()
函数把数组分割为新的数组块。
其中每个数组的单元数目由 size 参数决定。最后一个数组的单元数目可能会少几个。
可选参数 preserve_key 是一个布尔值(默认false),它指定新数组的元素是否有和原数组相同的键(用于关联数组),还是从 0 开始的新数字键(用于索引数组)。默认是分配新的键。
例如:
$arr = [1,2,3,4,5,6,7,8,9,10];
$arr = array_chunk($arr,2);
//则: $arr = [[1,2],[3,4],[5,6],[7,8],[9,10]];
print_r($arr);
运行结果:
Array ( [0] = Array ( [0] = 1 [1] = 2 ) [1] = Array ( [0] = 3 [1] = 4 ) [2] = Array ( [0] = 5 [1] = 6 ) [3] = Array ( [0] = 7 [1] = 8 ) [4] = Array ( [0] = 9 [1] = 10 ) )
$arr = [0= 'lily',1= 'lala',2= 'yaya',3= 'nini',4= 'maya',5= 'lant'];
$arr = array_chunk($arr,2,true);
//则:$arr = [[0= 'lily',1= 'lala'],[2= 'yaya',3= 'nini'],[4= 'maya',5= 'lant']];
print_r($arr);
运行结果:
Array ( [0] = Array ( [0] = lily [1] = lala ) [1] = Array ( [2] = yaya [3] = nini ) [2] = Array ( [4] = maya [5] = lant ) )
如果第三参数为false。则会分派新的键,都是从0开始了。
值得注意的是,当使用array_chunk()
分割数组,插入数据库时,如果 分割的数组不是等份的时候,则可能导致 数据库自增id 不连续,所以有需求 自增id连续的话,尽量使 array_chunk()
分割的新数组为等份的来避免一些问题。