2011-03-24 9 views
7

Bir diziyi diğer dizinin anahtarları olarak birleştirmenin hızlı bir yolu var mı?İki diziyi birlikte nasıl birleştirilir?

Girdi:

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

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

Beklenen çıkışı:

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

Bunu nasıl yapabilir?

cevap

21

array_combine()array_combine($a, $b); tam olarak istediğiniz yapacağız.

kılavuzu teklif:

array array_combine (array $keys , array $values) 

anahtar olarak anahtarları dizi ve karşılık gelen değerler değerindedir diziden değerlerden değerleri kullanarak bir dizi oluşturur.

Senin durumunda

, böyle bir şey yapmak zorunda olurdu:

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

tabii ki de array_combine() muhtemelen en basit olanıdır, bunu döngülerinin çeşitli kombinasyonları kullanabilirsiniz iken çözüm.

+0

Sadece yorum yazmam için buraya yazdığımdan ve oylarımı verdiğim için yazdığımdan ve yorumum: SO YOU ROCK! MAN :) Teşekkürler, sadece excel dosyasından veri okumaya çalışıyordum ve cevabımla ekleme sorgularımı yaptım. Tekrar teşekkürler.... –

2

Sen array_combine ile basitçe yapabilirsiniz:

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

bu deneyin: