2016-04-09 28 views
2

E-posta şablonu verileri aldım ve bunları anahtarlar ve etiketler içeren ilişkisel dizi olarak almaya çalışıyorum. Ama olması gerektiği gibi düzgün bir dizi yapamam.Dizi verileriyle döngü yapılması

key_1:label1,key2:label2,...

ben bu şekilde veritabanından Bu metni almak:

$subject = explode(',', $subject); 
 
    foreach($subject as $s) 
 
    { 
 
    $subjects[] = explode(':', $s); 
 
    } 
 
var_dump($subjects);

Ve bu yapıyla diziyi alıyorum:

Benim şablon şudur

array(2) { 
 
    [0]=> 
 
    array(2) { 
 
    [0]=> 
 
    string(12) "key1" 
 
    [1]=> 
 
    string(16) "label1" 
 
    } 
 
    [1]=> 
 
    array(2) { 
 
    [0]=> 
 
    string(12) "key2" 
 
    [1]=> 
 
    string(12) "label2" 
 
    } 
 
}
> Anahtar1, anahtarındaki2 ve değerler - -> Label1 Label

Nasıl tuşları ile dizi yapmak için? Teşekkürler!

cevap

5

bu deneyin:

$subject = explode(',', $subject); 
foreach($subject as $s) 
{ 
$key_value = explode(':', $s); 
$subjects[$key_value[0]] = $key_value[1]; 
} 
var_dump($subjects); 

Birlikte $ s değişkeni patlayan Burada gördüğümüz gibi ':', böylece 'Label1' ve 'key1 dizesini' verecek. Siz sadece döngü boyunca anahtar ve değer için diğer dizide kullanmanız gerekir.

+0

Teşekkür ederiz! Düzgün biçimlendirmek benim için zordu! :) –

+0

Bu kod pasajı [bir açıklama dahil] [http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) sorusunu çözebilirken, gerçekten de sonrası. Gelecekte okuyucular için soruyu cevapladığınızı ve bu kişilerin kod önerilerinizin nedenini bilmeyebileceğini unutmayın. Lütfen kodunuzu açıklayıcı yorumlarla doldurmamaya çalışın, bu hem kodun hem de açıklamaların okunabilirliğini azaltır! – Rizier123

İlgili konular