Site icon Mobilhanem

PHP Dersleri – Diziler

Mobilhanem.com - Temel Php Dersleri

Merhaba  arkadaşlar. Mobilhanem.com için hazırladığımız Php derslerimize PHP Diziler konusu ile devam ediyoruz. 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

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

Php 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" => "Vehbi", "yas" => 21,"site" => "mobilhanem.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.

$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:

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

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çıklamayı kod içerisinde yaptım.

Örnek: Yukarıdaki oluşturduğumuz diziyi küçükten büyüğe doğru sıralayalım ve sıralanmış halini ekrana yazdıralım.

for($i=0;$i<=100;$i++) 
	$dizi[$i] = rand(1,1000); // diziyi rastgele elemanlarla doldurduk



for($i=0;$i<count($dizi)-1;$i++) {
	for($j=$i+1;$j<count($dizi);$j++) {
		if($dizi[$i] > $dizi[$j]) {
			$geciciDegisken = $dizi[$i];
			$dizi[$i] = $dizi[$j];
			$dizi[$j] = $geciciDegisken;
		}
	}
}

for($i=0;$i<count($dizi);$i++)
	echo $dizi[$i]." ";

Diziyi sıralama kısmını anlatacak olursak:

Diziyi sıralarken dizinin i. elemanını i+1 den diziboyutu-1 e kadar olan tüm elemanlarla karşılaştırdık ve sıralama işlemini gerçekleştirdik. Birçok sıralama algoritması var arkadaşlar. Bu algoritmaları internet üzerinden araştırıp bulabilirsiniz sizde öğrendiğiniz algoritmaları kodlayabilirsiniz.

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:

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

echo "<br/>";
var_dump($dizi);

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:

 

$dizi = array(1,2,3,4,5);
unset($dizi[2]);


var_dump($dizi);

Çıktısı:

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 atlacağı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:

$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.

Bu günkü dersimizi burada sonlandırıyoruz arkadaşlar. 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ından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Php Dersleri için tıklayınız..

 

 

 

59
Exit mobile version