php array_chunk()函数用法与注意事项

yipeiwu_com5年前PHP代码库

本文实例讲述了php array_chunk()函数用法与注意事项。分享给大家供大家参考,具体如下:

定义和用法

array_chunk() 函数把数组分割为新的数组块。

其中每个数组的单元数目由 size 参数决定。最后一个数组的单元数目可能会少几个。

可选参数 preserve_key 是一个布尔值(默认false),它指定新数组的元素是否有和原数组相同的键(用于关联数组),还是从 0 开始的新数字键(用于索引数组)。默认是分配新的键。

例如:

$arr = [1,2,3,4,5,6,7,8,9,10];
$arr = array_chunk($arr,2);
//则: $arr = [[1,2],[3,4],[5,6],[7,8],[9,10]];
print_r($arr);

运行结果:

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

    [1] => Array
        (
            [0] => 3
            [1] => 4
        )

    [2] => Array
        (
            [0] => 5
            [1] => 6
        )

    [3] => Array
        (
            [0] => 7
            [1] => 8
        )

    [4] => Array
        (
            [0] => 9
            [1] => 10
        )

)

$arr = [0=>'lily',1=>'lala',2=>'yaya',3=>'nini',4=>'maya',5=>'lant'];
$arr = array_chunk($arr,2,true);
//则:$arr = [[0=>'lily',1=>'lala'],[2=>'yaya',3=>'nini'],[4=>'maya',5=>'lant']];
print_r($arr);

运行结果:

Array
(
    [0] => Array
        (
            [0] => lily
            [1] => lala
        )

    [1] => Array
        (
            [2] => yaya
            [3] => nini
        )

    [2] => Array
        (
            [4] => maya
            [5] => lant
        )

)

如果第三参数为false。则会分派新的键,都是从0开始了。

值得注意的是,当使用array_chunk()分割数组,插入数据库时,如果 分割的数组不是等份的时候,则可能导致 数据库自增id 不连续,所以有需求 自增id连续的话,尽量使 array_chunk() 分割的新数组为等份的来避免一些问题。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP图片自动裁切应付不同尺寸的显示

PHP图片自动裁切应付不同尺寸的显示

如果做过那种门户站的朋友,肯定知道,一张图片可能会在不同的地方显示,大小不同,比例也不同, 如果只用一张图的话,那么肯定会变形,而且在显示小图的地方,链接 大图,又太浪费了.....用缩...

shell脚本作为保证PHP脚本不挂掉的守护进程实例分享

前几天开始跑一份数据名单,名单需要提供用户名、是否有手机号、是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号、是否有邮箱必须得通过一个对外...

php中文乱码问题的终极解决方案汇总

php中文乱码问题的终极解决方案汇总

前言 本文主要给大家介绍了关于php中文乱码问题的终极解决方案,分享出来供大家参考学习,在开始之前,我们先来谈谈为什么会出现中文乱码? 很多新手朋友学习PHP的时候,发现程序中的中文在...

PHP获取当前系统时间的方法小结

一、获取当前时间戳 方法1:通过time函数 time(); 方法2:通过$_SERVER中的REQUEST_TIME元素 $_SERVER['REQUEST_TIME']; 方...

小谈php正则提取图片地址

迷上了正则,不断尝试着新花招,首先感谢TNA 的非完全输出RSS,然后再次感谢SH的强迫性学习。没有TNA,我不会去看正则,更不知道世界上有种这么牛的表达式;不是SH的死活说他不懂不知道...