개발 과정에서는 데이터를 정리해야 하는데, 가장 일반적인 작업 중 하나는 다양한 데이터를 데이터 세트로 통합하는 것입니다. 이 문서에서는 여러 개의 1차원 배열을 2차원 배열로 결합하는 방법을 제공하고 전체 코드와 데모를 제공합니다.
조합 방법의 코드는 다음과 같습니다. 함수 변수 매개 변수를 사용해야하므로 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; }?>
<?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 ) )
<?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에서 여러 개의 1차원 숫자를 2차원 배열로 결합하는 방법을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참조하세요.
관련 권장사항:
redis 카운터 클래스를 기반으로 한 php의 자세한 설명
php의 배열 여부를 확인하는 php의 방법에 대한 자세한 설명 지정한 기간과 일치합니다
위 내용은 PHP를 통해 여러 개의 1차원 배열을 2차원 배열로 결합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!