PHP'de bir dizi aslında sıralı bir eşlemdir. Bir eşlem, değerleri anahtarlarla ilişkilendiren bir veri türüdür. Bu veri türü farklı kullanım amaçları için en iyilenebilir; bir dizi, bir yöneysel liste, bir isim-değer çiftleri tablosu, bir sözlük, bir nesne listesi, yığıt, kuyruk ve daha bir sürü başka şey olarak ele alınabilir. Dizilerin değerleri, ağaçlar, diziler ve hatta çok boyutlu diziler bile olabilir.
Tüm bu veri yapılarının açıklanması bu kılavuzun amacını aşar. Fakat, en azından her biri için birer örnek verilebilir. Bu konuda daha fazla bilgi edinmek için bu konuyla ilgili olarak yayımlanmış eserleri inceleyiniz.
Bir dizi array() işlevi kullanılarak belirtilebilir.
Bağımsız değişken olarak, birbirlerinden virgüllerle ayrılmış çok sayıda
anahtar =>
değer çifti alabilir.
array(
anahtar => değer,
anahtar2 => değer2,
anahtar3 => değer3,
...
)
Son dizi elemanından sonraki virgül seçimliktir ve konmayabilir.
Bu genellikle tek satırlık dizilerde yapılır. Yani,
array(1, 2, ) yerine
array(1, 2) yazmak tercih edilir. Diğer taraftan,
çok satırlı dizilerde yeni elemanların sona eklenmesini
kolaylaştırdığından sondaki virgülün konulması tercih edilir.
Bilginize:
array()yerine[]kullanılan kısa bir dizi sözdizimi de vardır.
Örnek 1 - Basit bir dizi
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// Kısa dizi sözdizimi kullanımı
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>Bir anahtar ya int ya da string türünde olabilir. Bir değer ise herhangi bir türde olabilir.
Ek olarak anahtar için şu tür çarpıtmaları oluşur:
Geçerli onluk tamsayı içeren bir string +
imi ile başlamadıkça int türüne çarpıtılır. Yani,
"8" anahtarı aslında 8 olarak
saklanır. Diğer yandan, "08" geçerli bir onluk
tamsayı olmadığından tür çarpıtmasına uğramaz.
Float türler ondalık kısmı kırpılarak int
türüne çarpıtılır. Yani, 8.7 anahtarı aslında
8 olarak saklanır.
Bool türler int türüne çarpıtılır. Yani
true anahtarı 1,
false anahtarı da