- array() ön tanımlı fonksiyonu (predefined function)
- [] Köşeli parantezler ile
- Dizi elemanlarına tanımlanacak anahtar adlarında, harfler, rakamlar(a-z A-Z 0-9) ve _ (alt çizgi) kullanılabilir.
- Dizi elemanlarına anahtar isimleri tanımlarken PHP tarafından rezerve edilmiş kelimeler kullanılamaz.
- Dizi elemanlarına tanımlanacak olan anahtar isimleri büyük ve küçük harf duyarlıdır.
- Bir dizi elemanına anahtar tanımlanmazsa, anahtar otomatik olarak oluşturulur.
- Dizide her anahtarla değer arasına => karakterleri konulmalıdır.
- Dizide birden çok eleman oluşturulacaksa, her elemandan sonra , (virgül) koyulmalıdır.
Birden çok elemanlı dizide son elemanın sonuna , (virgül) koyulması isteğe bağlıdır
PHP Array (Dizi) Oluşturma Önerileri ve İpuçları
- Diziler adlandırılırken seçilen naming convention kurallarına dikkat edilmelidir. Bir örnekle bir diziyi $Array diye adlandırıp diğer diziyi $array diye adlandırmak okunabilirlik açısından önerilmez.
- Dizilerdeki elemanlarda anahtar tanımlamazsak, sadece değer tanımlarsak, anahtarlar PHP tarafından otomatik olarak oluşturulur. İlk anahtar 0’dır ve her anahtar 1 artarak devam eder.
- Dizileri yazdırmak için kullandığımız print_r() fonksiyonunu html’in
< pre>etiketleri içerisine alarak dizilerin daha iyi bir görünümle yazdırılmasını sağlayabiliriz. - Dizilerde son elemana virgül eklememiz veya eklememiz bir şeyi değiştirmez. Ancak dalgınlığa bağlı hataları önlemek ve okunabilirliği arttırmak için son elemana virgül eklenmesi önerilir.
- Dizilere değer olarak sadece değişken veya direkt veri eklenmesi şart değildir. Bir sabit veya fonksiyon atanabilir.
- Dizilerdeki anahtar yapılarında utf8 ve kısa tire ile alt çizgi haricinde özel karakter ve Türkçe karakter kullanılması önerilmez.
PHP Array Syntax (Dizilerin Söz Dizimi)
PHP’de dizilerin iki farklı yöntemle oluşturulabileceğinden bahsetmiştik. İlk yöntemde array() adlı ön tanımlı fonksiyonu kullanacağız. Örneğini aşağıya ekledik.
$friends = array('can', 'sevgi');
PHP’de array oluşturmak için bir diğer yöntemse köşeli parantezlerdir. Örneğini aşağıda bulabilirsiniz.
$friends = ['cemil', 'seda'];
PHP’de anahtarsız sadece değer içeren dizi yapısını üstteki örneklerde gördük. Şimdi ise anahtarlı dizi yapısını göreceğiz. Örneği inceleyelim.
$friends = array(
'best_friend' => 'cemil',
'school_friend' => 'seda',
'home_friend' => 'mehmet',
);
Üstteki örnekte değerleri atarken => operatörünü kullandık. Dizilerde değer atarken değer atama operatörü eşittir’i ‘=’ değil, dizi değer atama operatörünü ‘=>’ kullanırız.
Aşağıdaki örnekte PHP çoklu dizi (multi-dimensional array) yapısını göreceğiz. Çoklu dizi oluştururken ikinci diziyi ilk dizinin değer kısmında tanımlarız.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
PHP Dizileri Yazdırma (Printing Array)
print_r() ile Dizileri Yazdırma
PHP’de dizileri yazdırmak için print_r() fonksiyonunu kullanırız. Aşağıdaki örnekte $fruits adlı bir dizi oluşturduk ve karpuz, muz, üzüm değerlerini verdik. Ardından print_r() fonksiyonunu kullanarak diziyi yazdırdık.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
print_r($fruits);
/*
* Çıktı:
Array ( [0] => karpuz [1] => üzüm [2] => muz )
*/
Aşağıdaki örnekte bir önceki örnekte oluşturduğumuz diziyi HTML’in < pre> etiketlerini kullanarak daha okunaklı bir halde yazdırdık.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo '';
print_r($fruits);
echo '
';
/*
* Çıktı:
Array
(
[0] => karpuz
[1] => üzüm
[2] => muz
)
*/
Çoklu dizilerin verisine print_r() fonksiyonu ile erişebiliriz.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
print_r($friends);
// Çıktı: Array ( [best_friends] => Array ( [0] => melih [1] => deniz ) [school_friends] => Array ( [0] => eda [1] => erdinç ) )
Çoklu dizilerin verisine print_r() fonksiyonu ile erişirken HTML pre etiketlerini kullanırsak daha okunabilir bir yapıda çıktı alırız.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo '';
print_r($friends);
echo '
';
/*
* Çıktı:
Array
(
[best_friends] => Array
(
[0] => melih
[1] => deniz
)
[school_friends] => Array
(
[0] => eda
[1] => erdinç
)
)
*/
echo ile Dizileri Yazdırma
Aşağıdaki örnekte bir önceki örnekte oluşturduğumuz diziyi echo ile yazdırmaya çalıştık ancak yazdıramadık. Çıktı oalrak Array çıktısını aldık. Peki neden?
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits;
// Çıktı: Array
PHP echo oluşumuyla dizilerin tamamını yazdıramayız. PHP’de dizilerin tamamını yazdırmak için print_r() oluşumu vardır. Ancak dizinin sadece bir elemanını yazdırmak istersek echo kullanabiliriz. Aşağıdaki örnekte dizinin ilk anahtarına eriştik. Üstte öneriler ve ipuçları kısmında dizi oluştururken anahtar oluşturmazsak otomatik olarak oluşturulacağından bahsetmiştik. PHP anahtarları 0’dan başlayarak otomatik olarak oluşturdu ve biz ise 1.ci anahtarın verisine eriştik. Çıktı olarak “üzüm” çıktısını aldık.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits[1];
// Çıktı: üzüm
Peki anahtar oluşturursak echo ile anahtarın verisine nasıl erişeceğiz? Aşağıdaki örnekte anahtar oluşturduk ve echo ile anahtarın adını yazarak anahtarın verisine eriştik.
$fruits = array(
'fruit1' => 'karpuz',
'fruit2' => 'üzüm',
'fruit3' => 'muz',
);
echo $fruits['fruit3'];
// Çıktı: muz
Çoklu dizilerin verisine erişmek için ikinci köşeli parantezi oluştururuz. Aşağıdaki örneği inceleyelim. Bu örnekte çoklu dizi yapısını kullandık. İlk olarak friends dizisinin içerisindeki school_friends dizisine, ardından school_friends dizisindeki 1.ci anahtarın verisine eriştik.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo $friends['school_friends'][1];
// Çıktı: erdinç