Php Multi Arrays – Diziler 2

Değerli dostlarım merhabalar, bu dersimizde Php ile Multi Arrays yani Türkçe açıklaması; dizi içerisinde dizi. Dizilerimiz birden fazla veri barındırması amacıyla kullanılmakta olduğunu söylemiştik. Peki Dizi içerisinde birden fazla dizi ekleyebilir miyiz? Evet Php’de dizi içerinde tekrar bir dizi oluşturabiliriz.

Şöyle bir senaryo üretelim; elimizde çeşitli markalarda birden fazla araba olsun. A marka arabadan 5 satılan 10 tanede stokta olsun. Diğer markalarda ise sayı farketmez birkaç tane satılan birkaç tanede stokta olsun. Bütün bunları tek bir değişkende tutalım. Yani array içersinde array yapalım.

$arabalar= array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

Yukarıdaki örnek kodumuzda array içerisinde array oluşturduk. Tüm bilgileri tek bir değişkende topladık. Şimdi Bu verilere nasıl ulaşılır? Nasıl yazdırılır? onu görelim.

echo $arabalar[0][0].": stokta: ".$arabalar[0][1].", satılan: ".$arabalar[0][2].".<br>";
echo $arabalar[1][0].": stokta: ".$arabalar[1][1].", satılan: ".$arabalar[1][2].".<br>";
echo $arabalar[2][0].": stokta: ".$arabalar[2][1].", satılan: ".$arabalar[2][2].".<br>";
echo $arabalar[3][0].": stokta: ".$arabalar[3][1].", satılan: ".$arabalar[3][2].".<br>";

Evet yukarıda görüldüğü gibi yine index değeri ile array içerisindeki verilerimize ulaşabilmekteyiz. Burada önemli olan index değerinin 0 dan başlamasıdır.

Peki bu dizi değişkenimizi for döngüsü ile yazdırmak mümkün mü? evet şimdi for döngüsü ile yazdıralım.

for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Sıra numarası $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$arabalar[$row][$col]."</li>";
  }
  echo "</ul>";
}

Yukarıda 2 adet for kullandık. İlk for döngüsü bloğumuz değerleri sıra numarası için yapıldı. İlk for döngüsünü kullanmak zorunda değilsiniz. 2. for döngümüzde ise array dizi değişkenimizi yazdırdık. Şimdi bizim için önmli dizi fonksiyonlarına geçelim.

Dizi Fonksiyonları

is_array() Fonksiyonu

Değişkenlerin dizi olup olmadığı kontrol eder.

$dizi = array("bir", "iki", "üç");
if(is_array($dizi)){
 echo "evet bu değişken dizidir";
}

Yukarıda ki örnek kodumuzda değişkenimizin dizi olup olmadığını kontrol ettik.

ecplode() Fonksiyonu

Bir metni yada başka bir içeriği istenilen bir işaret ile ayırıp bir dizi haline getirir. Aşağıdaki örneğimizde metni boşluklardan ayırıp her bir sözcüğü dizi yapıyoruz.

#dizi = explode("", "bir iki üç");
print_r($dizi);

yukarıda yer alan koda baktığımızda çıktımız array olacaktır.Boşluk sayılmayacak bir iki üç şeklinde 3 elemanlı dizi olacaktır.

implode() Fonksiyonu

Dizi elemanlarını birleştirip bir metin elde eder. explode() tersine yapmaktadır.

$dizi = array("bir", "iki", "üç");
$sayilar = implode(",",$dizi);
echo $sayilar;

Yukarıda yer alan kodumuzun çıktısı ” bir,iki, üç “ şeklinde olacaktır.

list() Fonksiyonu

Bir diziden istediğimiz isimde değişken elde etmek için kullanılır.

extract() ;Bir diziden istediğimiz isimde değişken elde etmek için kullanılır.

array_sum() ; Dizi içerisinde yer alan integer sayıları toplar.

current() ; Dizi içerisindeki ilk elemanı elde eder.

end() ; Dizi içerisindeki en son elemanı elde eder.

next() ; Dizi içerisindeki 2. elemenı elde eder.

Dizide Arama ve Karşılaştırma Fonksiyonları

array_key_exists();  Dizi değişken içerisinde key arar eğer bulursa true döndürür bulamaz ise false döndürür. If ile kontrolü yapılır.

in_array(); Dizi değişken içerisinde arama yapar var ise true döndürür. Eğer yok ise false döndürür. If ile kontrolü yapılır.

array_search(); Dizi içerisinde Value araması yapar, eğer aranan var ise o value nin key anahtarını döndürür.

array_diff(); 2 dizi değişken arasında ortak olan değerleri pasif edip ortak olmayan değerleri bize döndürür.

array_count_values() ; Dizi değişken içerisinde aynı olan değerleri toplar. Şu değerden şu kadar var şeklinde çıktı verir.

Dizilerde Değişiklik

array_splice() ; Bir diziden elemanları kaldırıp yeni diziden elemanlar ekler.

array_slice() ; Index değeri alır. belirtilen index den sonra ki elemanları gösterir.

array_unique() ; Dizi içerisinde birden fazla var olan değerleri kaldırır. Eşsiz değerleri yazdırır.

array_chunk() ; İndex değeri alır. Girilen değerden sonra dizimizi 2 ye böler

array_flip() ; Dizi içerisinde ker alan key değerini value ye, value değerini ise key’e dönültürür.

Dizileri Birleştirme

array_merge();  2 dizi değişkeni birleştirir.

array_merge_recursive();  2 multi dizi değişkeni birleştirir.

array_walk();  Fonksiyon ile dizi elemanlarını döngü gibi yazdırır.

array_combine();  2 dizi değişkeni birlerştirir. Diğer fonksiyonlar ile arasındaki fark ilk diziyi key ikinci diziyi value olarak birleştirir.

Dizilerimizi bu kadar. Diğer bir dersimizde görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Shares