Während des Entwicklungsprozesses müssen Daten organisiert werden, und einer der häufigsten Vorgänge besteht darin, verschiedene Daten in einen Datensatz zu integrieren. Dieser Artikel stellt eine Methode zum Kombinieren mehrerer eindimensionaler Arrays zu einem zweidimensionalen Array bereit und bietet vollständigen Code und Demonstrationen.
Der Code der Kombinationsmethode lautet wie folgt. Da Funktionsvariablenparameter verwendet werden müssen, ist die PHP-Version 5.6 oder höher erforderlich.
<?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);?>
Ausgabe:
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);?>
Ausgabe:
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 ) )
In diesem Artikel wird erklärt, wie man mehrere eindimensionale Arrays zu einem zweidimensionalen Array kombiniert. dimensionales Array in PHP und mehr. Weitere Informationen zu verwandten Inhalten finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
PHP-Methode zur Rückgabe mehrerer in einem Array angegebener Spalten
MySQL-Secure-File-Priv-Option Problemlösung
php verwendet die debug_backtrace-Methode, um Codeaufrufe zu verfolgen
Das obige ist der detaillierte Inhalt vonSo kombinieren Sie in PHP mehrere eindimensionale Zahlen zu einem zweidimensionalen Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!