2009-07-29 115 views
16

相當簡單的問題實際上..PHP - 合併兩個數組(相同長度)爲一個關聯?

是有可能在PHP到相同長度的兩個單獨的陣列結合到一個關聯數組,其中第一陣列的值關聯數組中用作鍵?

我可以ofcourse做到這一點,但是我正在尋找另一個(內置)函數,或者更有效的解決方案..?

function Combine($array1, $array2) { 
    if(count($array1) == count($array2)) { 
     $assArray = array(); 
     for($i=0;$i<count($array1);$i++) { 
      $assArray[$array1[$i]] = $array2[$i]; 
     } 
     return $assArray; 
    } 
} 
+2

「屁股陣」,絕對是一個容易讓人聯想起的名字。 ;) – 2015-09-14 10:04:24

回答

4

有已經是一個array_combine function

$combined = array_combine($keys, $values); 
+0

但數組組合dosn't空值到一個新的數組。 :( – gumuruh 2012-04-04 19:16:38

7

你需要array_combine

<?php 
$a = array('green', 'red', 'yellow'); 
$b = array('avocado', 'apple', 'banana'); 
$c = array_combine($a, $b); 

print_r($c); 
?> 
2

大家好,我會告訴你如何合併2個陣列在一個陣列

我們有2個陣列,我會做一個陣列從他們

$data_key = array('key1','key2'); 
$data_value = array('val1','val2'); 

讓申報主體array

$main_array = array(); 

現在我們來填充它e 2的陣列

foreach ($data_key as $i => $key) { 
     $main_array[$key] = $data_value[$i]; 
} 

現在我們看到的結果是通過使用var_dump($main_array);

array(2) { 
["key1"]=> string(4) "val1" 
["key2"]=> string(4) "val2" 
} 

我希望可以幫助別人:)