Sen geleneksel anlamda PHP'de bir 2d dizi oluşturmaz ile çok boyutlu diziler döngü. yaklaşık $a = array(array());
basitçe şu diziyi oluştururken aslında yukarıda
öneriler: Dolayısıyla
$a = array(
0 => array()
);
, $a[0][0] = 'test';
aşağıdaki sonuç elde edilir: Çalışır gibi ilk bakışta
$a = array(
0 => array(
0 => 'test'
)
);
, görünüşe ama aslında, bu hala 2d dizisi değil. Eğer 2 satır (dizin 1) kullanmaya çalıştığınızda , bu noktada, PHP bir uyarı atmak olacaktır. Ör: $a[1]
şey (? array(array())
basitçe 0 dizininde bir dizi oluşturarak unutmayın) içermediği için
$a[1][0] = 'test2';
budur.
Çalışması için, $a[1] = array();
'u tekrar yapmalısınız ya da endekslerden kaçınmak istiyorsanız, $a[] = array();
yapabilirsiniz.
Örnek yukarıdaki kodu bir rasgele sayı 5x3 "2d dizi" oluşturur
$a = array(); // array of columns
for($c=0; $c<5; $c++){
$a[$c] = array(); // array of cells for column $c
for($r=0; $r<3; $r++){
$a[$c][$r] = rand();
}
}
.
boş 2 boyutlu dizi ... '$ dizi = array (array()); Bu şekilde Eminseniz boş bir dize n * m diziyi doldurmak istiyorum, doğru görünüyor' – JamesHalsall
zamanlar. –
Downvotes ile anlaşma ne olduğunu bilmiyorum. Baktım ve cevabı bulamadım, o yüzden sordum. Php kullanmayı öğrenmeye çalıştığım için özür dilerim. – Joshua