下面是实现把数组按指定的个数分隔的完整攻略:
下面是实现把数组按指定的个数分隔的完整攻略:
步骤一:确定和准备数据
首先需要确定需要分隔的数组,以及指定的个数。假设数组为 $arr
,指定的个数为 $num
。
步骤二:计算分隔后的数组长度
在开始分隔前,需要计算出分隔后的数组长度,即 $count
,根据数组长度和指定分隔个数计算得到:
$count = ceil(count($arr) / $num);
count($arr)
返回数组 $arr
的长度,ceil()
函数向上取整。
步骤三:分隔数组
在计算出数组分隔长度后,可以通过 for 循环将原数组逐个分隔成新的小数组,放入一个大数组 $newArr
中:
$newArr = array();
for ($i = 0; $i < $count; $i++) {
$newArr[] = array_slice($arr, $i * $num, $num);
}
在循环中,array_slice
函数 利用 $i
和 $num
计算出当前需要分割的部分在原数组中的位置,然后返回包含指定分割部分的新数组。
当循环结束后,大数组 $newArr
就是我们需要的分割后的数组。
示例一
假设现在有一个数组,
$arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
需要将其按照每个小数组包含 3 个元素进行分隔,代码实现如下:
$arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
$num = 3;
$count = ceil(count($arr) / $num);
$newArr = array();
for ($i = 0; $i < $count; $i++) {
$newArr[] = array_slice($arr, $i * $num, $num);
}
var_dump($newArr);
代码输出结果:
array(4) {
[0]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
[1]=>
array(3) {
[0]=>
string(1) "d"
[1]=>
string(1) "e"
[2]=>
string(1) "f"
}
[2]=>
array(3) {
[0]=>
string(1) "g"
[1]=>
string(1) "h"
[2]=>
string(1) "i"
}
[3]=>
array(1) {
[0]=>
string(1) "j"
}
}
输出结果显示,原数组 ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
,被成功地切分成了包含 3 个元素的小数组。
示例二
假设现在有一个数组,
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
需要将其按照每个小数组包含 4 个元素进行分隔,代码实现如下:
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$num = 4;
$count = ceil(count($arr) / $num);
$newArr = array();
for ($i = 0; $i < $count; $i++) {
$newArr[] = array_slice($arr, $i * $num, $num);
}
var_dump($newArr);
代码输出结果:
array(3) {
[0]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
[1]=>
array(4) {
[0]=>
int(5)
[1]=>
int(6)
[2]=>
int(7)
[3]=>
int(8)
}
[2]=>
array(1) {
[0]=>
int(9)
}
}
输出结果显示,原数组 [1, 2, 3, 4, 5, 6, 7, 8, 9]
,被成功地切分成了包含 4 个元素的小数组。
以上就是用 PHP 实现将数组按指定个数分隔的完整攻略,希望能对你有所帮助。
本文标题为:php实现把数组按指定的个数分隔
基础教程推荐
- PHP之认识(二)关于Traits的用法详解 2023-01-07
- PHP正则判断一个变量是否为正整数的方法 2022-12-29
- php 提交表单 关闭layer弹窗iframe的实例讲解 2022-11-08
- thinkphp框架下404页面设置 仅三步 2023-08-09
- windows环境下使用Composer安装ThinkPHP5 2022-10-18
- php生成微信红包数组的方法 2023-02-06
- PHP实现排序堆排序(Heap Sort)算法 2022-10-05
- PHP中通过getopt解析GNU C风格命令行选项 2023-03-13
- ThinkPHP框架下整合支付宝支付功能图文教程 2023-01-05
- 详解PHP如何在两个大文件中找出相同记录 2023-06-26