php使用array_chunk函数将一个数组分割成多个数组

php中可以用array_chunk将一个数组分隔成若干个数组。

数组

$array = ['name' => 'tom', 'age' => 20, 3, 4, 5, 'a', 'b'];

每3个分割一组

$chunk_result = array_chunk($array, 3);

结果

Array
(
 [0] => Array
  (
   [0] => tom
   [1] => 20
   [2] => 3
  )
 [1] => Array
  (
   [0] => 4
   [1] => 5
   [2] => a
  )
 [2] => Array
  (
   [0] => b
  )
)

如果数量不足,则最后一个数组不一定为3个

如果需要保留键值,可以设置第三个参数为true

$chunk_result = array_chunk($array, 3, true);

结果

Array
(
 [0] => Array
  (
   [name] => tom
   [age] => 20
   [0] => 3
  )
 [1] => Array
  (
   [1] => 4
   [2] => 5
   [3] => a
  )
 [2] => Array
  (
   [4] => b
  )
)

心得

使用array_chunk比较的坑在于:如果数组过大,array_chunk很可能造成内存溢出,报:Allowed memory size of 134217728 bytes exhausted 类似这样的错误。

以上所述是小编给大家介绍的php使用array_chunk函数将一个数组分割成多个数组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • php通过数组实现多条件查询实现方法(字符串分割)

    复制代码 代码如下: <?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=str_replace(" ",",",$keyword); $keyarr=explode(',',$keyword); for($index=0;$index<count($keyarr);$index++) {

  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例

    php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists(). 首先分别介绍一下各自的定义与作用 in_array(value,array,type) 该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与

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

    本文实例讲述了php array_chunk()函数用法与注意事项.分享给大家供大家参考,具体如下: 定义和用法 array_chunk() 函数把数组分割为新的数组块. 其中每个数组的单元数目由 size 参数决定.最后一个数组的单元数目可能会少几个. 可选参数 preserve_key 是一个布尔值(默认false),它指定新数组的元素是否有和原数组相同的键(用于关联数组),还是从 0 开始的新数字键(用于索引数组).默认是分配新的键. 例如: $arr = [1,2,3,4,5,6,7,8

  • php数组函数序列之array_unique() - 去除数组中重复的元素值

    array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 语法 array_unique(array) 参数 描述 array 必需.规定输入的数组. 说明 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名.这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留. 提示和注

  • php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 复制代码 代码如下: <?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$index<count($hello);$index++) { echo $hello[$index];echo "</br>"; } ?>

  • php数组函数序列之array_keys() - 获取数组键名

    array_keys() 定义和用法 array_keys() 函数返回包含数组中所有键名的一个新数组. 如果提供了第二个参数,则只返回键值为该值的键名. 如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型. 语法 array_keys(array,value) 参数 描述 array 必需.规定输入的数组. value 可选.指定值的索引(键). strict 可选.与 value 参数一起使用.可能的值: true - 根据类型返回带有

  • php将字符串随机分割成不同长度数组的方法

    本文实例讲述了php将字符串随机分割成不同长度数组的方法.分享给大家供大家参考.具体分析如下: 这里使用php对字符串在指定的长度范围内进行随机分割,把分割后的结果存在数组里面 function RandomSplit($min, $max, $str){ $a = array(); while ($str != ''){ $p = rand($min, $max); $p = ($p > strlen($str)) ? strlen($str) : $p; $buffer = substr($

  • 支持中文的PHP按字符串长度分割成数组代码

    以下是我编写的代码,实现对中英文混杂字符进行分割: <?php function mbStrSplit ($string, $len=1) { $start = 0; $strlen = mb_strlen($string); while ($strlen) { $array[] = mb_substr($string,$start,$len,"utf8"); $string = mb_substr($string, $len, $strlen,"utf8")

  • php数组函数序列之array_key_exists() - 查找数组键名是否存在

    array_key_exists() 定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(key,array) 参数 描述 key 必需.规定键名. array 必需.规定输入的数组. 例子 1 复制代码 代码如下: <?php $a=array("a"=>"Dog","b"=>&quo

  • 浅谈php数组array_change_key_case() 函数和array_chunk()函数

    如下所示: <?php /* array_change_key_case() 返回其键均为大写或小写的数组. array array_change_key_case(array input[,int case]) 参数描述:array是要转换键值的数组 case有两个选项:CASE_LOWER,默认选项,以小写字母返回数组的键 CASE_UPPER,以大写字母返回数组的键 */ $input_array = array('a'=>'Java', 'B'=>'Php', 'c'=>'

  • php把字符串指定字符分割成数组的方法

    实例如下: <?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=explode("|",$str); 把$str按|进行分割 php还有其他的把字符串指定字符分割成数组 str_split(string,length) 参数 描述 string 必需.规定要分割的字符串. length 可选.规定每个数组元素的长度.默认是 1. json_de

随机推荐