PHP Diziler Nasıl Tanımlanırlar ve Kullanılırlar?

Php Diziler çoklu veri tutmaya yarayan yapılardır. Örneğin aylar ile işlem yaptığımızı varsayalım. Her ay için bir değişken oluşturmaktansa ayların hepsini bir diziye atarsak tek değişkende tüm ayları tanımlamış oluruz. Diziler tüm programlama dillerinde çok fazla kullanılmaktadır.  Dizilerin kullanımını beraber inceleyelim.

Dizilerin Genel Özellikleri

  • Diziler array() anahtar kelimesi ile oluşturulur.
  • Dizinin her elemanının bir indis değeri olur ve bu indislere biz müdahale etmediğimiz sürece indis numarası 0 dan başlar.
  • Dizinin boyutu birden fazla olabilir.
  • Dizinin indisi string bir değer olabilir.
  • Dizi elemanlarına köşeli parantezler içine indis değeri yazılarak ulaşılır. [INDIS]
  • Dizinin eleman sayısına count() fonksiyonu ile ulaşırız.

Dizilerin genel özelliklerinden bahsettik.  şimdi PHP’de dizi nasıl oluşturulur görelim.

PHP’de Dizi Oluşturma

<?php
$dizi = array("eleman1","eleman2");
?>

Php’de array() anahtar kelimesi ile dizi oluşturulur.

Dizi oluşturmanın bir çok şekli vardır biz bunlardan genelde kullanılanlara bir göz atalım.

<?php
// kullanım şekli 1
// default dizi oluşturma şekli 
$dizi = array("eleman1","eleman2",1,2,3);
// kullanım şekli 2
// dizi key değerine istediğimiz stringi vererek oluşturmak
//böylelikle anahtar - değer şeklinde veri tutulur
$dizi = array("ad" => "Uğur", "yas" => 21,"site" => "YazılımDelisi.com");
// kullanım şekli 3
// direk dizi elemanı ekleme 
$ay[1] = "ocak";
$ay[2] = "şubat";
?>

Genel olarak dizi kullanım şekilleri yukarıdaki gibidir. Hangi kullanım şekline ihtiyaç duyarsak o yapıyı kullanırız. Bir kaç örnek yapacak olursak:

Örnek: Haftanın günlerini for döngüsü ile dizi kullanarak ekrana yazdıralım.

<?php
$gunler = array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar");
for($i = 0; $i<count($gunler); $i++) {
 echo $gunler[$i]."<br/>";
}
?>

Örneğimizi açıklayacak olursak:

  • Dizimizi oluşturduk.
  • For döngüsü ile dizi içine geziyoruz.
  • Burada önemli nokta dizi indisi 0 dan başladığı için for döngüsünde koşul olarak $i<count($gunler) ifadesini kullandık. dizi boyutumuz 7 ama bizim son verimizin indisi 6. Bu yüzden  döngünün dizi boyutundan küçük olduğu müddetçe devam etmesini istiyoruz. 
  • Dizinin her elemanını ekrana yazdırıyoruz.

Örnek: 100 elemanlı bir dizinin elemanlarını 1-1000 aralığında rastgele sayılarla doldurup dizimizi ekrana yazdıralım.

<?php
for($i=0;$i<=100;$i++) 
 $dizi[$i] = rand(1,1000); // dizimizin elemanlarını rastgele sayılarla doldurduk
 
for($i=0;$i<count($dizi);$i++) 
 echo $dizi[$i]." "; // dizimizi ekrana yazdırdık.
?>

Gerekli açıklama kod içerisinde yapıldı.

is_array() Fonksiyonu

Bir değişkenin dizi olup olmadığını is_array() fonksiyonu ile kontrol ederiz.

<?php
$arr = array(1,2,3,4,5);
if(is_array($arr)) echo "Bu Bir Dizidir.";
else echo "Bu Bir Dizi Değildir.";
?>

print_r() ve var_dump() Fonksiyonları

print_r() ve var_dump()  fonksiyonları ile diziyi indisleri ile ekrana yazdırabiliriz. Test aşamasında işimizi çok kolaylaştırır.  Örneğin:

<?php
for($i=0;$i<10;$i++) {
 $dizi[$i] = rand(0,100);
}

print_r($dizi);
echo "<br/>";
var_dump($dizi);
 ?>
php diziler
print_r ile var_dump arasındaki temel fark var_dump ile daha detaylı olarak dizi özelliğini görebilirsiniz. Dizi eleman sayısı, dizi elemanlarının veri tipi gibi birçok özellik görebilirsiniz.

Dizinin Bir Elemanını Silmek

Diziden herhangi bir elemanı silmek için unset() fonksiyonu kullanırız.  Örneğin:

<?php
$dizi = array(1,2,3,4,5);

unset($dizi[2]);
var_dump($dizi);
?>
php diziler

Dizimizin 2 numaralı indisi silindi. Diziyi for döngüsü ile yazdırmak istediğimizde 2. indisteyken ya hata verecek yada ek kod yazarak indis 2 iken atlatacağız. Bunun önüne geçmek için dizi indislerini güncellememiz gerekir.

array_values() fonksiyonu dizi indislerini günceller.

Örneğimizi güncelleyecek olursak:

<?php
$dizi = array(1,2,3,4,5);
unset($dizi[2]);
$dizi = array_values($dizi);
 
var_dump($dizi);
?>

Çıktımız aşağıdaki şekilde olacaktır.

php diziler

Bu günkü dersimizi burada sonlandırıyoruz. Bu dersimizin devamı olan bir sonraki dersimizde Php Dersleri – Çok  Boyutlu Diziler dersimizde görüşmek üzere.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altındaki yorum bölümünden sorabilirisiniz.

PHP diziler konusunu bu yazımızda gördük. Aşağıdaki linke tıklayarak daha bir çok içeriğe ulaşarak bilginizi artırabilirsiniz. Ayrıca aşağıdaki Sosyal Medya linklerine tıklayarak bizi Sosyal Medya üzerinden de takip edebilirsiniz.

https://yazilimdelisi.com/category/web-gelistirme/php/

instagram logo
twitter logo