php多个一维数组合拼成二维数组的方法

php多个一维数组合拼成二维数组的方法

内容导读

收集整理的这篇技术教程文章主要介绍了php多个一维数组合拼成二维数组的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2512字,纯文字阅读大概需要4分钟

内容图文

在开发过程中,需要整理数据,其中比较多操作是把各种数据整合到一组数据中。本文提供将多个一维数组合拼成二维数组的方法,提供完成代码及演示。

合拼方法代码如下,因需要使用函数可变参数,因此需要php版本5.6以上。

<?php/** * 将多个一维数组合拼成二维数组 * * @param
Array $keys 定义新二维数组的键值,每个对应一个一维数组 * @param
Array $args 多个一维数组集合 * @return Array */function array_merge_more($keys, ...$arrs){

// 检查参数是否正确

if(!$keys || !is_array($keys) || !$arrs || !is_array($arrs) || count($keys)!=count($arrs)){



return array();

}

// 一维数组中最大长度

$max_len = 0;

// 整理数据,把所有一维数组转重新索引

for($i=0,$len=count($arrs); $i<$len; $i++){



$arrs[$i] = array_values($arrs[$i]);



if(count($arrs[$i])>$max_len){





$max_len = count($arrs[$i]);



}

}

// 合拼数据

$result = array();

for($i=0; $i<$max_len; $i++){



$tmp = array();



foreach($keys as $k=>$v){





if(isset($arrs[$k][$i])){







$tmp[$v] = $arrs[$k][$i];





}



}



$result[] = $tmp;

}

return $result;}?>

1.多个一维数组合拼为二维数组

<?php$arr1 = array('fdipzone', 'terry', 'alex');$arr2 = array(18, 19, 20);$arr3 = array('programmer', 'designer', 'tester');$keys = array('name','age','profession');$result = array_merge_more($keys, $arr1, $arr2, $arr3);print_r($result);?>

输出:

Array(

[0] => Array



(





[name] => fdipzone





[age] => 18





[profession] => programmer



)

[1] => Array



(





[name] => terry





[age] => 19





[profession] => designer



)

[2] => Array



(





[name] => alex





[age] => 20





[profession] => tester



))

2.多个二维数组抽取部分数据合拼为二维数组

<?php$arr1 = array(

array('name'=>'fdipzone'),

array('name'=>'terry'),

array('name'=>'alex'),);$arr2 = array(

array('age'=>18),

array('age'=>19),

array('age'=>20),);$arr3 = array(

array('profession'=>'programmer'),

array('profession'=>'designer'),

array('profession'=>'tester'),);$arr1 = array_column($arr1, 'name');$arr2 = array_column($arr2, 'age');$arr3 = array_column($arr3, 'profession');$keys = array('name','age','profession');$result = array_merge_more($keys, $arr1, $arr2, $arr3);print_r($result);?>

输出:

Array(

[0] => Array



(





[name] => fdipzone





[age] => 18





[profession] => programmer



)

[1] => Array



(





[name] => terry





[age] => 19





[profession] => designer



)

[2] => Array



(





[name] => alex





[age] => 20





[profession] => tester



))

本文讲解了php 多个一维数组合拼成二维数组的方法,更多相关内容请关注Gxl网。

相关推荐:

php 返回数组中指定多列的方法

mysql secure-file-priv选项问题的解决方法

php 利用debug_backtrace方法跟踪代码调用

以上就是php 多个一维数组合拼成二维数组的方法的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php多个一维数组合拼成二维数组的方法全部内容,希望文章能够帮你解决php多个一维数组合拼成二维数组的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com