array_chunk(array $array, int $length, bool $preserve_keys = false) :array 函数返回数据类型为数组。array_chunk() 其实就是将一个数组分割成多个数组,其中每个数组的单元数目由 length 决定。最后一个数组的单元数目可能会少于length 个。
支持版本
(PHP 4, PHP 5, PHP 7, PHP 8)
定义和用法
array_chunk(array $array, int $length, bool $preserve_keys = false): array
array_chunk() — 将一个数组分割成多个。
将一个数组分割成多个数组,其中每个数组的单元数目由 length 决定。最后一个数组的单元数目可能会少于length 个。
参数解释
参数 | 描述 |
---|---|
array | 需要操作的数组 |
length | 每个数组的单元数目 |
preserve_keys | 设为 true,可以使 PHP 保留输入数组中原来的键名。如果你指定了 false,那每个结果数组将用从零开始的新数字索引。默认值是 false。 |
函数返回值
得到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了 length 个元素。
错误/异常
如果 length 小于 1,会抛出一个 E_WARNING 错误并返回 null。
演示案例一
第三个参数默认false,返回从零开始的新数字索引
$arr = array(
array(
'id' => 100,
'web_url' => 'www.fxzbcn.com',
'web_title' => '福星之吧',
),
array(
'id' => 101,
'web_url' => 'www.baidu.com',
'web_title' => '百度',
),
array(
'id' => 102,
'web_url' => 'www.aliyun.com',
'web_title' => '阿里云',
),
array(
'id' => 103,
'web_url' => 'www.csdn.com',
'web_title' => 'csdn',
),
);
$newArr = array_chunk($arr, 2); // 第三个参数默认false
//$newArr = array_chunk($arr, 2, false);
var_dump($newArr);
返回结果
array(2) {
[0]=>
array(2) {
[0]=>
array(3) {
["id"]=>
int(100)
["web_url"]=>
string(14) "www.fxzbcn.com"
["web_title"]=>
string(12) "福星之吧"
}
[1]=>
array(3) {
["id"]=>
int(101)
["web_url"]=>
string(13) "www.baidu.com"
["web_title"]=>
string(6) "百度"
}
}
[1]=>
array(2) {
[0]=>
array(3) {
["id"]=>
int(102)
["web_url"]=>
string(14) "www.aliyun.com"
["web_title"]=>
string(9) "阿里云"
}
[1]=>
array(3) {
["id"]=>
int(103)
["web_url"]=>
string(12) "www.csdn.com"
["web_title"]=>
string(4) "csdn"
}
}
}
**演示案例二**
第三个参数默认true,返回从零开始的新数字索引
$newArr = array_chunk($arr, 2, true);
var_dump($newArr);
返回结果
array(2) {
[0]=>
array(2) {
[0]=>
array(3) {
["id"]=>
int(100)
["web_url"]=>
string(14) "www.fxzbcn.com"
["web_title"]=>
string(12) "福星之吧"
}
[1]=>
array(3) {
["id"]=>
int(101)
["web_url"]=>
string(13) "www.baidu.com"
["web_title"]=>
string(6) "百度"
}
}
[1]=>
array(2) {
[2]=>
array(3) {
["id"]=>
int(102)
["web_url"]=>
string(14) "www.aliyun.com"
["web_title"]=>
string(9) "阿里云"
}
[3]=>
array(3) {
["id"]=>
int(103)
["web_url"]=>
string(12) "www.csdn.com"
["web_title"]=>
string(4) "csdn"
}
}
}
数组拆分扩展案例
function chunk_iterable($listOfThings, $size) {
$chunk = 0;
$chunks = array_fill(0, ceil(count($listOfThings) / $size) - 1, array());
$index = 0;
foreach($listOfThings as $thing) {
// $index 在这里表示传入数组索引,$chunk 在这里表示子数组索引
// 当 if 条件不成立 就把 $thing 加入 $chunks[$chunk] 数组中
// 当 if 条件成立 就把 $thing 加入$chunk 索引增大的 $chunks[$chunk] 数组中
// $index % $size 取余数运算 表示能整除
if ($index && $index % $size == 0) $chunk++;
$chunks[$chunk][] = $thing;
$index++;
}
return $chunks;
}
$listOfThings = array(1,2,3,4,5,6,7,8,9,10,11,12,13);
print_r(chunk_iterable($listOfThings, 4));
案例中使用到的PHP函数
以上案例输出
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
[1] => Array
(
[0] => 5
[1] => 6
[2] => 7
[3] => 8
)
[2] => Array
(
[0] => 9
[1] => 10
[2] => 11
[3] => 12
)
[3] => Array
(
[0] => 13
)
)
PHP算术运算符
算术运算(Arithmetic Operators)符是处理四则运算(加、减、乘、除四种运算)的符号,在数字的处理中应用得最多。
常用的算术运算符如下表所示。
名称 | 操作符 | 举例 |
---|---|---|
加法运算 | + | $a + $b |
减法运算 | - | $a - $b |
乘法运算 | * | $a * $b |
除法运算 | / | $a / $b |
取余数运算 | % | $a % $b |
注意:在算术运算符中使用 % 求余,如果被除数($a)是负数,那么取得的结果也是一个负值。
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论