2013-09-06 7 views
6

PHP dizilerinde yeniyim ve çok boyutlu bir ilişkilendirici dizinin nasıl yapılacağına karar verdim.Çok Boyutlu İlişkilendirme Dizisi (PHP)

Array ([0] => Array ([alert] => alert [email] => Test)) 

Onun yerine bu olsun:

$alert_array = array(); 

$alert_array[]["alert"]["email"] = "Test"; 

:

Array ([0] => Array ([alert] => Array ([email] => Test))) 

kullanıyorum kodu budur ben print_r kullandığımda bu gibi görünmek için diziyi istiyorum Böyle bir şeyin işe yarayacağını düşünüyordum, ama açıkçası benim sözdizim biraz kapalı. Ben gerçi doğru yolda biraz olduğumu düşünüyorum ?: Yardımlarınız için

$alert_array[][["alert"]["email"]] = "Test"; 

Teşekkür (bu süper temel ise üzgünüm, bu tam ele soru bulamadım)! Senin durumunda

+0

'array_push' ile deneyin. – elclanrs

+0

@elclanrs, hala 'email' değerini ya da array_push ile 'alert' değerini nasıl zorlayacağımı bilmiyorum? – MillerMedia

cevap

19
$alert_array = array(); 
$alert_array[] = array('alert' => 'alert', 'email' => 'Test'); 
... 
var_dump($alert_array); 

bunu gibi key belirtmek gerekir:

$alert_array[$key]["alert"] = "alert"; 
$alert_array[$key]["email"] = "Test"; 

Sen de sayacı ile bir döngü var gerekirdi. Eğer kısa dizi sözdizimi kullanabilirsiniz 5.4+ PHP kullanıyorsanız

: Eğer array function kullanarak yeni Array içindeki mevcut bir dizi koyarsanız

$alert_array = []; 
$alert_array[] = ['alert' => 'alert', 'email' => 'Test']; 
+0

Oh Vay, mükemmel. Düşündüğümden daha basit bir şekilde, böyle basit bir şekilde yapılabileceğinin farkına varamadım (çok önemliydi). Teşekkürler! (btw, cevabınızı birkaç dakika içinde kabul edeceğim) – MillerMedia

+0

@MxmastaMills Hoş Geldiniz, buradayken bir şey sorun :) –

+0

Sizin için başka bir hızlı soru, 'itmek' yeni arıyorum Bu yöntemle diziye nesneleri. Array_push kullanmayı denedim ($ alert_array, 'alert' => 'alert', 'email' => 'Test'); ama bu işe yaramadı (bunun ikinci virgül nedeniyle olduğunu farz ediyorum). Temel olarak, döngümün çalışması sırasında dizinin sonuna nesne eklemeyi deniyorum ... – MillerMedia

0

, sonra sonuç çok boyutlu dizi

olacak Bu durumda
$alert_array = array(); 
    $alert_array[] = array('alert' => 'alert', 'email' => 'Test'); 
    print_r($alert_array); 

    /* result will be 
    Array ([0] => Array ([alert] => alert [email] => Test)) 
    */ 

, sonuç, tek boyutlu bir dizi olacaktır

$alert_array = array(); 
while($variable = mysqli_fetch_assoc($something)) { 
$alert_array[] = $variable; 
} 

lütfen ayrıca bkz. array function