php中可以用array_chunk将一个数组分隔成若干个数组。

数组

$array = ['name' => 'tom', 'age' => 20, 3, 4, 5, 'a', 'b'];

每3个分割一组

$chunk_result = array_chunk($array, 3);

结果

Array

(

[0] => Array

(

[0] => tom

[1] => 20

[2] => 3

)

[1] => Array

(

[0] => 4

[1] => 5

[2] => a

)

[2] => Array

(

[0] => b

)

)

如果数量不足,则最后一个数组不一定为3个

如果需要保留键值,可以设置第三个参数为true

$chunk_result = array_chunk($array, 3, true);

结果

Array

(

[0] => Array

(

[name] => tom

[age] => 20

[0] => 3

)

[1] => Array

(

[1] => 4

[2] => 5

[3] => a

)

[2] => Array

(

[4] => b

)

)

心得

使用array_chunk比较的坑在于:如果数组过大,array_chunk很可能造成内存溢出,报:Allowed memory size of 134217728 bytes exhausted 类似这样的错误。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐