php使用array_chunk函数将一个数组分割成多个数组

这篇文章主要介绍了php使用array_chunk函数将一个数组分割成多个数组,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。

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

数组:

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

每3个分割一组

$chunk_result = array_chunk($array, 3);

结果:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [0] => tom
  6. [1] => 20
  7. [2] => 3
  8. )
  9. [1] => Array
  10. (
  11. [0] => 4
  12. [1] => 5
  13. [2] => a
  14. )
  15. [2] => Array
  16. (
  17. [0] => b
  18. )
  19. )

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

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

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

结果:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [name] => tom
  6. [age] => 20
  7. [0] => 3
  8. )
  9. [1] => Array
  10. (
  11. [1] => 4
  12. [2] => 5
  13. [3] => a
  14. )
  15. [2] => Array
  16. (
  17. [4] => b
  18. )
  19. )

心得:

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