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

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很可能造成内存溢出,报:Allowedmemorysizeof134217728bytesexhausted类似这样的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解决这个问题。 你可以使用循环和 array_slice 函数来实现这个功能,具体步骤如下: 1. 定义一个数组 $result 用于存放分割后的子数组。 2. 使用 count 函数获取原数组的长度,计算出需要分割几个子数组,存储在 $count 变量中。 3. 使用循环,循环 $count 次,在每次循环中,使用 array_slice 函数从原数组中取出长度为 10 的子数组,并将其添加到 $result 数组中。 4. 如果原数组的长度不能被 10 整除,需要特殊处理最后一个数组使用 array_slice 函数从原数组中取出剩余的元素,并将其添加到 $result 数组中。 以下是示例代码: ``` <?php // 原数组 $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; // 定义结果数组 $result = []; // 计算需要分割几个子数组 $count = ceil(count($arr) / 10); // 循环 $count 次,每次取出长度为 10 的子数组,并添加到 $result 数组中 for ($i = 0; $i < $count; $i++) { $subArr = array_slice($arr, $i * 10, 10); $result[] = $subArr; } // 如果原数组的长度不能被 10 整除,需要特殊处理最后一个数组 if (count($arr) % 10 != 0) { $subArr = array_slice($arr, $count * 10); $result[] = $subArr; } // 输出结果 print_r($result); ?> ``` 运行结果如下: ``` Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ) [1] => Array ( [0] => 11 [1] => 12 [2] => 13 [3] => 14 [4] => 15 ) ) ``` 希望能够帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值