2011-03-24 105 views
7

有沒有一種快速的方法來組合一個數組值作爲另一個數組的鍵?如何將兩個數組組合在一起?

輸入:

array A => Array (
     [0] => "cat" 
     [1] => "bat" 
     [2] => "hat" 
     [3] => "mat" 
    ) 

array B => Array (
     [0] => "fur" 
     [1] => "ball" 
     [2] => "clothes" 
     [3] => "home" 
    ) 

預期輸出:

array C => Array (
     [cat] => "fur" 
     [bat] => "ball" 
     [hat] => "clothes" 
     [mat] => "home" 
    ) 

我怎麼能這樣做呢?

回答

21

array_combine()將你到底要什麼。

引述手冊:

array array_combine (array $keys , array $values) 

創建通過使用從鍵陣列作爲鍵,並從值陣列中的相應值的值的值的數組。

在你的情況,你必須做這樣的事情:

$array['C'] = array_combine($array['A'], $array['B']); 

雖然,當然你也可以使用循環的各種組合來做到這一點,array_combine()可能是最簡單解。

+0

我剛剛在SO上登錄,專門爲我寫評論,併爲我投票,我的評論是:你是岩石!男人:)謝謝,我只是想從Excel文件中讀取數據,並通過您的答案進行了插入查詢。再次感謝.... – 2015-09-26 18:45:15

2

你可以用array_combine簡單地做到這一點:

// First parameter will be used as the keys, the second for the values 
$new_array = array_combine($keys_array, $values_array); 
1

試試這個:array_combine($a, $b);