php数组(八) array_chunk

array_chunk — 将一个数组分割成多个,得到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了 length 个元素。

 

 

array_chunk(array $arrayint $lengthbool $preserve_keys = false): array

将一个数组分割成多个数组,其中每个数组的单元数目由 length 决定。最后一个数组的单元数目可能会少于 length 个。

 

参数说明:

array

  • 需要操作的数组

length

  • 每个数组的单元数目

preserve_keys

  • 设为 true,可以使 PHP 保留输入数组中原来的键名。如果你指定了 false,那每个结果数组将用从零开始的新数字索引。默认值是 false

1、分隔数组示例:

1
2
3
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));

 返回:会对key重新排序

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

 

 

2、如果要保留原来的的key,则置$preserve_key为true

1
2
3
4
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2, true));
?>

 返回:

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

 

3、如果key为混合数字和字符串类型,不会保留原有的key,默认会重新排序

1
2
3
4
<?php
$input_array = array(0 => 'a', b =>'b',  3 => 'c', 'd' => 'd', 'e');
print_r(array_chunk($input_array, 2));
?>

 返回:每个拆分的数组下标都是从0开始

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

 

posted on   1450811640  阅读(37)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示