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、分隔数组示例:

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

 返回:会对key重新排序

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)

 

 

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

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

 返回:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

 

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

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

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

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)

 

posted on 2021-08-03 21:37  1450811640  阅读(35)  评论(0编辑  收藏  举报