Rengaver
PHP Diziler (Array) Kullanımı - Baskı Önizleme

+- Rengaver (https://rengaver.com)
+-- Forum: Yazılım Dersleri (https://rengaver.com/forum-yazilim-dersleri)
+--- Forum: PHP (https://rengaver.com/forum-php)
+--- Konu Başlığı: PHP Diziler (Array) Kullanımı (/konu-php-diziler-array-kullanimi)



PHP Diziler (Array) Kullanımı - seraph - 03-29-2021

Diziler array() veya [] (köşeli parantez) ile tanımlanabilirler fakat önerilen tanımlama array() şeklindedir. print_r() fonksiyonuyla ekrana basılabilirler.Dizideki anahtarlar büyük-küçük harfe duyarlıdır. Dizide anahtar tanımlaması yapılmazsa php, elemanlara 0 dan başlayarak anahtarlar tanımlar.Örnek dizi tanımlaması:
PHP Kod:
$dizi = array("anahtar1" => "eleman1""anahtar2" => "eleman2""anahtar3" => "eleman3"); 
Veya
PHP Kod:
$dizi = ["anahtar1" => "eleman1""anahtar2" => "eleman2""anahtar3" => "eleman3"]; 
Yukarıda oluşturduğumuz diziye aşağıdaki şekillerde eleman ekleyebiliriz.
PHP Kod:
$dizi[] = "eleman4"; $dizi["anahtar5"] = "eleman5"
 Aynı şekilde, tanımlanmış bir elemanın değerini de değiştirebiliriz.
PHP Kod:
$dizi["anahtar5"] = "değiştirildi"
 Temelleri gördüysek şimdi de sık kullanılan dizi fonksiyonlarına bakalım.

count() ve sizeof() 
Bir dizinin eleman sayısını bulmaya yararlar.
PHP Kod:
$dizi = array("e1","e2","e3","e4");echo count($dizi) . " "sizeof($dizi);// Çıktı: 4 4 
 count() ve sizeof()
fonksiyonları dizinin alt dizilerindeki elemanları saymaz. Her alt diziyi 1 eleman olarak alır. Alt dizileri de saymak istersek şu şekilde kullanmalıyız:
PHP Kod:
$dizi = array("e1""e2", array("e3""e4"), "e5");echo count($dizi,COUNT_RECURSIVE);// Çıktı: 6 
 array_unshift() 
Dizinin başına eleman eklemeye yarar. İlk parametresi dizi, ikinci parametresi eklenecek elemandır. Dizinin, eleman eklendikten sonraki eleman sayısını geriye döndürür.
PHP Kod:
$dizi = array("e1","e2","e3","e4");$elemanSayisi array_unshift($dizi,"e0");echo $elemanSayisi
 array_push() 
Dizinin en sonuna eleman eklemeye yarar. İlk parametresi dizi, ikinci parametresi eklenecek elemandır. Dizinin, eleman eklendikten sonraki eleman sayısını geriye döndürür.
PHP Kod:
$dizi = array("e1","e2","e3","e4");$elemanSayisi array_unshift($dizi,"e5");echo $elemanSayisi
 array_shift() 
Dizinin ilk elemanını silmeye yarar. Sildiği elemanı geriye döndürür.
PHP Kod:
$dizi = array("e1","e2","e3","e4");$silinenEleman array_shift($dizi);echo $silinenEleman;//Çıktı: e1 
 array_pop() 
Dizinin son elemanını silmeye yarar. Sildiği elemanı geriye döndürür.
PHP Kod:
$dizi = array("e1","e2","e3","e4");$silinenEleman array_pop($dizi);echo $silinenEleman;//Çıktı: e4 
 end() 
Dizinin son elemanını geriye döndürür.
PHP Kod:
$dizi = array("e1","e2","e3","e4");$sonEleman array_shift($dizi);echo $sonEleman;//Çıktı: e4 
 explode() 
Düz metni, belirtilen ayraca göre bölerek yeni bir dizi oluşturmaya yarar. İlk parametresi, ayraç olarak kullanılacak stringdir. İkinci parametresi ise parçalanıp diziye çevrilecek stringdir.
PHP Kod:
$degisken1 "Bu bir test yazısıdır.";$degisken2 explode(" "$degisken1);echo $degisken1 "<br>";print_r($degisken2); 
Yukarıdaki örnekte bir cümle içeren stringi kelimelerine ayırarak parçalamış olduk. Fonksiyona 3.bir parametre olarak tam sayı da verebiliriz. Bu durumda fonksiyon; verilen stringi, aldığı 3.parametre kadar eleman sayısı olacak şekilde bir diziye dönüştürür. 

implode()
2 parametre alır. İlk parametresi bir ayraç, ikinci parametresi ise elemanları string olan bir dizidir. Bu elemanları verilen ayracı kullanarak birleştirerek bir string oluşturur ve bu stringi geriye döndürür.
PHP Kod:
$degisken = array("Bu""stringler""implode""ile""birleşecek");echo implode(" "$degisken); 
 list()
Bir dizinin elemanlarını, parametre olarak aldığı değişkenlere sırayla atar. Değişkene aktarılmasını istemediğimiz elemanların sırası gelince orayı boş bırakarak atlayabiliriz. 
PHP Kod:
$degisken  = array("List""fonksiyonu""örnek""array");list($degisken1$degisken2,, $degisken3) = $degisken;echo $degisken1 "<br>";echo $degisken2 "<br>";echo $degisken3 
  array_merge()
Parametre aldığı dizileri birleştirir ve birleştirdiği bu diziyi geriye döndürür. 
PHP Kod:
$dizi1 = array("bir""iki""üç");$dizi2 = array("dört""beş""altı");$yeniDizi array_merge($dizi1$dizi2);print_r($yeniDizi); 
 Anahtarlar rakam olursa örnekteki gibi yeni dizide veriler art arda eklenir.Anahtarlar alfanumerik değerler olursa aynı anahtara sahip veriler bulunduğunda anahtara ikinci dizideki veri atanır.array_merge() fonksiyonuna birleştirilmek istenen diziler parametre olarak verilerek ikiden fazla dizi de birleştirilebilir.  array_combine()Her biri bir dizi olan iki parametre alır. Parametre olarak aldığı dizilerden ilkinin verilerini anahtar, ikincinin verilerini değer olarak kabul ederek yeni bir dizi oluşturur ve bu yeni diziyi geriye döndürür.
PHP Kod:
$dizi1 = array("a""b""c");$dizi2 = array("d""e""f");$yeniDizi array_combine($dizi1$dizi2);print_r($yeniDizi); 
 array_slice()
Bir dizinin belli bir kısmını alarak yeni bir dizi oluşturmaya yarar. 3 parametre alır. İlk parametre parçalanacak dizi, ikinci parametre başlangıç değeri ve son olarak üçüncü parametre de sonuçta oluşacak dizinin uzunluğudur. İkinci parametre negatif girilerek parçalama işlemine sondan başlanabilir. Dizinin anahtarları alfanumerik değerler ise anahtarlar yeni dizide korunur. Alfanumerik değil de rakamsalsa korunmaz. Rakamsal anahtarları korumak için array_slice() fonksiyonuna 4. parametre olarak true verilir.
PHP Kod:
$dizi = array("a1" => "bir" "a2" => "iki" "a3" => "üç" "a4" => "dört" "a5" => "beş" "a6" => "altı" "a7" => "yedi");$yeniDizi array_slice($dizi,3,2);print_r($yeniDizi); 
 array_intersect()
Her biri bir dizi olan iki parametre alır. Bu dizilerin değeri aynı olan elemanlarının bulunduğu bir dizi oluşturur ve bu diziyi geriye döndürür.Yeni dizinin anahtarları, ilk dizinin anahtarlarıdır.
PHP Kod:
 $dizi1 = array("a1" => "a""a2" => "b""a3" => "c""a4" => "d""a5" => "e","a6" =>"f");$dizi2 = array("a1" => "d""a2" => "e""a3" => "f""a4" => "g""a5" => "h""a6" => "ı");print_r(array_intersect($dizi1,$dizi2)); 
 array_intersect_key()
İki dizinin, anahtarları aynı olan elemanlarından bir dizi oluşturur ve bu diziyi geriye döndürür.
PHP Kod:
$dizi1 = array("a1" => "a""a2" => "b""a3" => "c""a4" => "d""a5" => "e""a6" =>"f");$dizi2 = array("a4" => "g""a5" => "h""a6" => "i""a7" => "j""a8" => "k""a9" => "l");print_r(array_intersect_key($dizi1,$dizi2)); 
Yeni dizideki elemanların değeri, ilk dizideki değerlerdir. 

array_filter()
Parametre olarak aldığı dizinin boş elemanlarını siler ve oluşturduğu yeni diziyi geriye döndürür. 
array_unique()
Parametre olarak aldığı dizideki tekrar eden elemanları siler ve oluşturduğu yeni diziyi geriye döndürür. 
array_keys()
Parametre olarak aldığı dizinin anahtarlarından yeni bir dizi oluşturur ve bu diziyi geriye döndürür. 
array_values()
Parametre olarak aldığı dizinin değerlerinden yeni bir dizi oluşturur ve bu diziyi geriye döndürür. 
in_array()
İki parametre alır. İlk parametre bir değer, ikinci parametre ise dizidir. Değer, dizide bulunuyorsa true döndürür.