Yazı içeriği

PHP’de diziler (PHP Array) bir veya birden fazla veriyi depolayabileceğimiz işlevsel veri tutuculardır. Değişkenlerin aksine birçok veriyi birbirinden ayrı olarak tutabilirler.
PHP’de diziler iki yöntemle oluşturulur:

  1. array() ön tanımlı fonksiyonu (predefined function)
  2. [] Köşeli parantezler ile

PHP Array (Dizi) Oluşturma Kuralları

  • 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

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

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.

'best_friend' => 'cemil',
'school_friend' => 'seda',
'home_friend' => 'mehmet',
);
PHP

Ü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

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 )
 */
PHP

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 '<pre>';
print_r($fruits);
echo '</pre>';
/* 
 * Çıktı: 
Array
(
    [0] => karpuz
    [1] => üzüm
    [2] => muz
)
 */
PHP

Ç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ç ) )
PHP

Ç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 '<pre>';
print_r($friends);
echo '</pre>';
/*
 * Çıktı:
 Array
(
    [best_friends] => Array
        (
            [0] => melih
            [1] => deniz
        )
    [school_friends] => Array
        (
            [0] => eda
            [1] => erdinç
        )
)
*/
PHP

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

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
PHP

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
PHP

Ç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ç
PHP

Benzer yazılar

php-foreach
PHP Döngülerin Performanslı ve Etkili Kullanımı

PHP en iyi yaklaşımlar serimizin bu bölümünde PHP döngüler (loop) hakkında kaliteli kodlama ve en iyi yaklaşım örneklerini paylaştık. Artık PHP’de döngüleri daha performanslı ve etkili olarak kullanacaksınız!

Yazıyı oku
PHP Etiketleri
PHP Etiketlerinin Efektif Kullanımı

PHP en iyi yaklaşımlar serimizde bugünki konumuz: PHP etiketleri. PHP etiketlerini en iyi şekilde nasıl kullanabiliriz? PHP’de kısa etiketleri neden kullanmamalıyız? PHP etiketleri hakkında en iyi yaklaşımları öğrenin!

Yazıyı oku
PHP strpos() İşlevinin Doğru Kullanımı
PHP strpos() İşlevinin Doğru Kullanımı

PHP’de strpos işlevinde hiç anlatılmayan ipuçlarını ve sık karşılaşılan hataları hiç düşündünüz mü? Doğru ve en iyi PHP strpos() kullanımını öğrenmek için web sitemizdeki makaleden ve kod örneklerinden hemen ücretsiz…

Yazıyı oku
Yorumunu Paylaş
Sayfa Değerlendirmesi

Hızlı Detay Formu

Hızlı detay formumuzu doldurun ve aynı gün içerisinde taleplerinizi ve sitenizi inceleyip ulaşalım!

Hızlı İletişim Formu

Hızlı iletişim formumuzu doldurun ve aynı gün sitenizi analiz edip size ulaşalım!

Yanıtla
1
Whatsapp Destek Hattı
Merhaba. 👋
Size nasıl yardımcı olabiliriz?