php 多个一维数组合拼成二维数组的方法
来源:互联网 发布:淘宝个人主页标签 编辑:程序博客网 时间:2024/06/06 01:38
在开发过程中,需要整理数据,其中比较多操作是把各种数据整合到一组数据中。本文提供将多个一维数组合拼成二维数组的方法,提供完成代码及演示。
合拼方法代码如下,因需要使用函数可变参数,因此需要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 ))
阅读全文
2 0
- php 多个一维数组合拼成二维数组的方法
- php二维数组转一维数组的方法
- PHP中二维数组的排序方法
- PHP中二维数组的排序方法
- PHP中二维数组的排序方法
- php 二维数组对称的方法
- PHP二维数组的相关方法
- 简单的PHP二维数组排序方法
- php二维数组转成一维数组的方法
- php 二维数组排序方法
- php 二维|数组|合并 多个一维数组合并成二维数组
- php多个一维数组合并成二维数组
- PHP二维数组(或任意维数组)转换成一维数组的方法汇总
- PHP一维、二维以及多维的数组排序方法
- PHP统计二维数组元素个数的方法
- php中遍历二维数组的几种方法详解
- PHP实现二维数组按某列进行排序的方法
- 简历二维数组的方法
- 《Ruminations on C++》定义类时的核查表
- WPF TabControl中纵向显示TabItem及标题文字
- 多线程 同步异步锁 单列
- 常用排序之快排
- $.ajax()方法详解
- php 多个一维数组合拼成二维数组的方法
- scala File -demo1
- Spring Cloud 监控服务器下 IP/URL 不正确导致无法注册的解决方法
- popwindow 动画取消奔溃报错java.lang.NullPointerException ViewRootImpl.drawAccessibilityFocusedDrawable
- 事件捕获e || window.event
- ESP8266 PWM&GPIO
- Redis lesson14 Redis 中的消息订阅
- Java 多线程
- 考研数学