Heim >Backend-Entwicklung >PHP-Tutorial >So kombinieren Sie mehrere eindimensionale Arrays mit PHP zu einem zweidimensionalen Array
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 für die Kombinationsmethode lautet wie folgt. Da Funktionsvariablenparameter verwendet werden müssen, ist 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 verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Erklären Sie die verwandten Methoden zur Rückgabe mehrerer in einem Array angegebener Spalten in PHP
Über PHP-basiert zur Redis-Zählerklasse Detaillierte Erklärung
Detaillierte Erklärung, wie überprüft werden kann, ob PHP mit dem angegebenen Zeitraum übereinstimmt
Das obige ist der detaillierte Inhalt vonSo kombinieren Sie mehrere eindimensionale Arrays mit PHP zu einem zweidimensionalen Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!