array_chunk是PHP中的一个数组分割函数,是将一个数组分割为多个数组块

我们可以把它理解卖豆腐的商人把一整块大豆腐切割为一个一个的小块来进行售卖

这个函数需要三个参数:

  被切割的数组(必需)

  被切割为多少块(必需)

  是否保留原数组索引关系true,flase默认为flase(可选)

注意:被切割后的数组,数组块内的数组不受是否保留索引关系影响(此处为二维数组情况考虑)

小技巧:当被切割个数为1时可以实现一维数组转二维数组操作

    可根据需求来确定是否保留索引关系

1.当被切割块数为1时(不保留原数组索引关系)

<?php
$key = array('a' => 'boom' , 'b' => 'tom' , 'c' => 'jack');
$ret = array_chunk($key,1);
print_r($ret); //run result
Array
(
[0] => Array
(
[0] => boom
) [1] => Array
(
[0] => tom
) [2] => Array
(
[0] => jack
) )

2.当被切割块数为1时(保留原数组索引关系)

<?php
$key = array('a' => 'boom' , 'b' => 'tom' , 'c' => 'jack');
$ret = array_chunk($key,1,flase);
print_r($ret); //run result Array
(
[0] => Array
(
[a] => boom
) [1] => Array
(
[b] => tom
) [2] => Array
(
[c] => jack
) )

3.当被切割为多个数组块时

 最后一个数组块的数目可能会少几个,这跟被切割为多少块有关

<?php
$key = array('a' => 'boom' , 'b' => 'tom' , 'c' => 'jack');
$ret = array_chunk($key,2);
print_r($ret); //run result Array
(
[0] => Array
(
[0] => boom
[1] => tom
) [1] => Array
(
[0] => jack
) )

本文为茴香饺子博客的原创,欢迎转载,转载请注明出处  

茴香饺子博客http://www.cnblogs.com/hxjz/

深度解析PHP数组函数array_chunk的更多相关文章

  1. 深度解析PHP数组函数array_combine

    前些天写了一篇关于array_merge的函数解析. 今天来看一个新的函数array_combine() 此函数一共有两个参数,一个是合并后数组的键名,另一个为键值. 注意:合并后数组的键名放在第一个 ...

  2. 深度解析PHP数组函数array_slice

    看到array_slice()这个函数让我想起了VFP中的range这个范围取值的子句 这个函数一共有四个参数: 被取值的数组(必需) 取值的起始位置(必需) 取值的终止位置,如果不填写默认到数组最后 ...

  3. 深度解析PHP数组函数array_merge

    很久之前就用到过这个函数,只不不过是简单的用用而已并没有做太深入的研究 今天在翻阅别人博客时看到了对array_merge的一些使用心得,故此自己来进行一次总结. array_merge是将一个或者多 ...

  4. C#解析JSON数组

    方式一 第一步:使用前,需下载:Newtonsoft.Json.dll 没有的,请到我百度云盘下载 链接:https://pan.baidu.com/s/1JBkee4qhtW7XOyYFiGOL2Q ...

  5. 第37课 深度解析QMap与QHash

    1. QMap深度解析 (1)QMap是一个以升序键顺序存储键值对的数据结构 ①QMap原型为 class QMap<K, T>模板 ②QMap中的键值对根据Key进行了排序 ③QMap中 ...

  6. PHP函数积累总结(Math函数、字符串函数、数组函数)

    Math函数:10个较常用标红.abs — 绝对值acos — 反余弦acosh — 反双曲余弦asin — 反正弦asinh — 反双曲正弦atan2 — 两个参数的反正切atan — 反正切ata ...

  7. STL库list::sort()实现深度解析

    原创,转载请注明出处:STL库list::sort()实现深度解析 list模板的定义以及一些基本成员函数的实现这里我就不赘述了,还不清楚的同学可以到网上查找相关资料或者直接查看侯捷翻译的<ST ...

  8. 深度解析javascript中的浅复制和深复制

    原文:深度解析javascript中的浅复制和深复制 在谈javascript的浅复制和深复制之前,我们有必要在来讨论下js的数据类型.我们都知道有Number,Boolean,String,Null ...

  9. java8Stream原理深度解析

    Java8 Stream原理深度解析 Author:Dorae Date:2017年11月2日19:10:39 转载请注明出处 上一篇文章中简要介绍了Java8的函数式编程,而在Java8中另外一个比 ...

随机推荐

  1. 生产环境-jvm内存溢出-jprofile问题排查

    首先线上开启了dump的参数 dump的内容有2G,先进行压缩打包,传输至本地(scp) tar -czvf dump.tar java_pid4824.hprof  使用Jprofile打开dump ...

  2. AOJ/数据结构习题集

    ALDS1_3_A-Stack. Description: Write a program which reads an expression in the Reverse Polish notati ...

  3. [CTSC2008] 网络管理

    题目描述 Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构 ...

  4. 实体框架(Entity Framework)

    实体框架(Entity Framework) 实体框架(Entity Framework)简介 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对 ...

  5. php中表单提交复选框与下拉列表项

    在赶项目中,抽出半个小时来写篇博客吧,这个功能说实话不难,为什么要写呢,因为在复选框那里有小小的难点,我试了好多遍才试成功的,希望能为以后需要帮助的同学提供点思路. 先看一下我做的效果吧 就是给每个业 ...

  6. 【Windows 10 应用开发】跟随系统主题颜色

    有些时候,希望应用程序中的某些颜色可以与系统的主题颜色相同,并且当系统主题色改变时进行同步. 实现过程并不复杂,主要用到 UISettings 类,它公开一个 GetColorValue 方法,访问这 ...

  7. 1005 Number Sequence

    Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) ...

  8. c#读取html

    第一部分:读取后,再次存入到源文件中Stream myStream = new FileStream("d:\\hhh.html", FileMode.Open);Encoding ...

  9. html部署到tomcat

    首先电脑上应该装好java和Tomcat,并设置好它们的环境变量. 设置完成后,启动Tomcat ,点击\bin\tomcat6,打开浏览器输入网址:http://localhost:8080,如果出 ...

  10. Docker - 从零开始到操作

    从零开始 介绍Docker的基本概念和命令,并给出简单使用示例和参考信息. Docker - 基础讲义 http://www.cnblogs.com/anliven/p/6281373.html Do ...