合拼方法代码如下,因需要使用函数可变参数,因此需要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_html' target='_blank'>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 多个一维数组合拼成二维数组的方法,更多相关内容请关注php 。
相关推荐:
php 返回数组中指定多列的方法
mysql secure-file-priv选项问题的解决方法
php 利用debug_backtrace方法跟踪代码调用
以上就是php 多个一维数组合拼成二维数组的方法的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答