Arama

PHP'de Obje Dizileri Tanımlama ve Kullanımı

  • Paylaş:
post-title

Bütün programlama dillerinde diziler (array’ler) çok önemli bir role sahiptir. Şöyle ki; dizileri etkin bir şekilde kullanabilirseniz yaptığınız yazılım hem kullanışlılık açısından hem de kod yükü açısından size büyük bir oranda performans artışı sağlayacaktır. 

Klasik dizi kullanımını biliyorsunuzdur. Aşağıdaki örnek tanımlamada bir diziye eleman atamayı görebiliriz;

$arr = array(‘ali’, ‘veli’, ‘49’, ‘50’);

Bu şekilde bir atama yaptığımızda tek boyutlu bir dizi tanımlamış oluyoruz. Peki çok boyutlu dizileri nasıl tanımlarız ? 

Çok boyutlu diziler, içerisinde birden fazla dizi olan dizilerdir. Yani çok boyutlu dizilerde, üst dizinin her bir elemanı bir başka dizidir. Bunu da basit bir örnekle açıklayalım;

$arr = array(

      array(‘M. Yusuf’, ‘Taşkesenligil’, ‘29’, ‘Bilgisayar Mühendisi’),

      array(‘Cem’, ‘Yılmaz’, ‘48’, ‘Komedyen’),

      array(‘Tarkan’, ‘Tevetoğlu’, ‘49’, ‘Şarkıcı’)

);

Şimdi tanımladığımız dizi artık çok boyutlu bir dizi olmaktadır. Burada Cem Yılmaz’ın meslek bilgisine ulaşmak istersek aşağıdaki gibi çağırmamız gerekir;

echo $arr[1][3];

Bu tanımladığımız dizide tüm kişilerin meslek bilgilerini ekrana yazdırmak istersek foreach döngüsünü kullanabiliriz. Şöyleki;

foreach($arr as $key){

     echo $key[3];

}

Bu kod bloğu bizim işimizi görecektir. Bunun sayesinde biz dizideki tüm kullanıcılarımızın meslek bilgisini alabiliriz. Ancak burada bizim sıkıntımız şu olacaktır. Kişilerin meslek bilgisi, dizinin kaçıncı indisinde tutuluyor bilmemiz gerekir. Bu da büyük projelerde bizlere sıkıntı çıkarabilir. Eğer bu diziyi obje olarak tanımlarsak iş yükümüzü daha da azaltabiliriz.

PHP’de Obje Dizisi Nasıl Tanımlanır?

Bir obje dizisinin normal diziden farkı şudur; her bir elemanın bir key değeri vardır. Yani bir dizideki elemanı ekrana basmak istiyorsak bunu indisle değil key ile çağırırız. Örnek vermek gerekirse;

$arr = array(

      array(

‘isim’ => ‘M. Yusuf’,

‘soyisim’ => ‘Taşkesenligil’,

‘yas’ => ‘29’,

‘meslek’ => ‘Bilgisayar Mühendisi’

      ),

      array(

‘isim’ => ‘Cem’,

‘soyisim’ => ‘Yılmaz’,

‘yas’ => ‘48’,

‘meslek’ => ‘Komedyen’

      ),

      array(

‘isim’ => ‘Tarkan’,

‘soyisim’ => ‘Tevetoğlu’,

‘yas’ => ‘49’,

‘meslek’ => ‘Şarkıcı’

      )

);

İşte bu tanımladığımız dizimiz artık bir obje dizi olmuş oluyor. Dizimizde isim, soyisim, yas ve meslek tanımlamaları birer key oluyor, karşılarında ki değerler ise bu key’lerin value’ları olmuş oluyor. 

Şimdi bu dizimizde ki tüm kullanıcıların meslek bilgilerini ekrana yazdıralım;

foreach($arr as $kullanici){

     echo $kullanici[‘meslek’];

}

Gördüğünüz gibi artık indislerle falan işimiz kalmadı. Dizide meslek bilgisi hangi indiste, yas bilgisi hangi indiste bilmemize gerek yok. Key değeri ile istediğimiz bilgiye ulaşabiliyoruz. Böylece işlerimiz daha da kolaylaşmış oluyor.

 

Bir yorum bırak