PHP de Diziler

PHP de Diziler

Hepinize merhaba dostlarım :). Bu yazımda sizlere php programlama dilinde dizilerden bahsedeceğim. Özellikle programlama aşamasında bizim hayatımızı kurtaran bu yapıyı öğrenmek için sabırsızlandığınızı biliyorum :). O halde sözü daha fazla uzatmadan konumuza giriş yapalım. Ama öncelikle dizi nedir gelin onun tanımını mantıksal şekilde ayarlayalım

Dizi (Array) Nedir ?

Dostlarım gelin teorik bir tanım haricinde mantıksal bir tanımlama yapalım ve bu işi kavrayalım :). Örneğin 10 adet verimiz olsun ve her verinin 10 adet özelliği olsun diyelim. Bunları her veriye ait değişken olarak ayarlarsak ne kadar uzun olur değil mi :). 10 verinin 10 adet özelliğini her bir ayrı değişken atayarak tutarsak 100 adet değişken olacak ve bu değişkenlere ulaşmak ve işlem yapmak da bir hayli zamanımızı alacaktır :). İşte dostlarım bu ve bunun gibi durumlarda Dizi(Array) bize gel dostum ben sana yardımcı olurum diyor :). Eğlenceli geldi değil mi :). Hadi o zaman vakit kaybetmeden başlayalım.

Dizi Tanımlama

Dostlarım dizi tanımlama işlemine girmeden önce size şunu demek istiyorum "Çok Basit". Evet yanlış duymadınız dostlarım çok basit bir kullanımı var. Gelin aşağıdaki gibi dizimizi oluşturalım

<?php
   $isimler = ["Zafer","Emrullah","Arda"];
?>

şeklinde dizimiz oluştu dostlarım :). Gördüğünüz gibi ekstra fonksiyon yazmadık yapı kurmadık :). Sadece köşeli parantezler "[ ]" aralarına değerlerimizi girdik. Aklınızda bir şu soru belirmiştir

Hocam sadece string değerleri mi koyabiliryoruz içerisine ?

cevabım hayır dostlarım. İçerisine integer (int) değerler de girebiliyorsunuz. Gelin örnek vereyim

<?php
    $yas = [26,24,14];
?>

işte dostlarım şekildeki gibi bir dizi oluşturup içerisine indisleri koyabiliyoruz. Olay tamamen bu şekilde :). Gelelim bu dizi içerisindeki bir değer ekrana nasıl yazılıyor onlara bakalım

Dizi İçeriğinden Herhangi Birini Bastırma

Dostlarım yeri gelir dizi içerisinden bir index bize lazım olur. Örneğin 5 kişinin olduğu diziden ("Zafer","Emrullah","Arda","Yunus","Harun") isimli kişiler olsun. Biz Arda ismini ekrana nasıl bastırabiliriz gelin ona bakalım

<?php
    $kisiler = ["Zafer","Emrullah","Arda","Yunus","Harun"];
     echo $kisiler[2];
    
  //  Ekran Çıktısı: Arda
?>

şeklinde dizimizi oluşturup ekrana bastırabiliyoruz dostlarım. Ve ekran çıktımız da Arda olarak bastırılacaktır. Şimdi akıllarda bir soru daha oluşuyor

Hocam neden o kısma 2 yazdık ($kisiler[2] kısmı) ?

Dostlarım çok güzel bir soru. Neden bu şekilde yaptk hemen açıklıyorum. Dizi içerisine kayıt edilen ilk veri 0. index numarası, ikinci veri 1. index numarasına kayıt olur (n-1 olarak hesaplanır). Bu dizide de Arda ifadesi de 3. veri olduğu için 2. index numarasında yer almaktadır dostlarım :). Bu kısma kadar anlaşılmışsa dostlarım dizi içerisindeki verileri ekrana bastırma işlemini inceleyelim 

Dizi İçeriğini Yazdırma

Dostlarım her zaman bize 3 verilik 5 verilik dizi gelmez :). Atıyorum bir blog sitesi yaptınız ve güzel içerikler yayınlıyorsunuz bunu admin panelinde çoklu şekilde çekmeniz vb. gibi durumlar gerekecek :). Veya 100 kullanıcınız olacak diyelim örnek veriyorum kod üzerinden

<?php
   // 5 verilik dizi oluşturalım
   $dizi = ["Konya","Ankara","İstanbul","Antalya","Mersin"];  // dizimizi oluşturduk
   echo $dizi[0];
   echo $dizi[1];
   echo $dizi[2];
   echo $dizi[3];
?>

hadi bu şekilde zorlayıp yapıyoruz diyelim. 100 veri olduğunda böyle 100 tane uğraşa uğraşa yazıp işlem mi yapacağız ? Hayır bir programcı bunu asla yapmaz dostlarım. Bunu bir döngüye alır ve ekrana yazdırır. Gelin hızlıca bu işlemi yapalım

<?php
    $programlamaDilleri = ["PHP","JS","PYTHON","GO","NODE.JS","RUBY"];  // dizimizi oluşturalım
    foreach($programlamaDilleri as $dil){
       echo $dil."<br>";
    }   
   
/*
   EKRAN ÇIKTISI
    
    PHP
    JS
    PYTHON
    GO
    NODE.JS
    RUBY
*/

?>

şeklinde ekranımıza basar dostlarım. Olay biraz karmaşık gelebilir tavsiyem bolca pratik yapmanızdan yanadır :).

Dizi Uzunluğunu Alma

Dostlarım yeri geldiğinde dizinin uzunluğunu alacağımız zamanlar gelebiliyor. Özellikle diziyi döngü sayısı adedince yazacağımız zamanlar meydana geliyor. Bizim bunu statik olarak mesala 100 dedik ama diziye verilerin de eklendiği durumlar oldu diyelim. Bizim her zaman bunu güncellememiz nasıl yorucu olur değil mi dostlarım :). Gelin bunun kolayına bakalım

<?php
    $programlamaDilleri = ["PHP","JS","PYTHON","GO","NODE.JS","RUBY"];  // dizimizi oluşturalım
    for($i=0; $i<count($programlamaDilleri); $i++){
       echo $programlamaDilleri[$i]."<br>";
    }
    echo "<br>";
    echo "Dizi Eleman Sayısı: ".count($programlamaDilleri);  // dizi eleman sayısını hesaplattıralım
   
/*
    EKRAN ÇIKTISI: 

     PHP
     JS
     PYTHON
     GO
     NODE.JS
     RUBY
 */
?>

şeklinde kullanıp işlerimize devam edebiliriz dostlarım. count() fonksiyonu ile dizimizin uzunluğunu alıp ekranımıza bastırabiliriz. Olayı anlamışsanız dostlarım gelelim çok boyutlu dizilere :)

Dizilerde key=>value işlemi

Dostlarım gelelim bir diğer dizi konularından olan key=>value işlemine :). Gözününüz asla korkmasın key value dediği için. Buradaki temel amaç hani biz yukarıda $dizi[0] şeklinde köşeli parantez içerisinde index numarasını belirtmiştik ya işte bu kısımda böyle sayılarla falan değil örneğin $dizi['isim'] şeklinde çağırıyoruz. Buradaki amaç bizim o index i kendi belirlediğimiz ifadeyle veriyoruz. Birden sevinç dolu şaşırmalar geldiğini hissediyorum dostlarım :). Sözü fazla uzatmadan gelin bunu bir örnekle inceleyelim

<?php
  $kisi_bilgi = [
    "isim"=>"Ahmet",
    "soyisim"=>"Pınar",
    "yas"=>"26"
];

echo "İsmim: ".$kisi_bilgi['isim'].". Soyismim: ".$kisi_bilgi['soyisim'].". Yaşım: ".$kisi_bilgi['yas'];   // EKRANA YAZDIRDIK

// EKRAN ÇIKTISI: İsmim: Ahmet. Soyismim: Pınar. Yaşım: 26
?>

şeklinde kullanıp işlerimizi halledebiliriz dostlarım :). Olay gayet basit :). Şimdi gelin dostlarım dizi içerisinde dizi tanımlama konumuza giriş yapalım :)

Dizi İçerisinde Dizi Tanımlama

Dostlarım dizi içerisinde dizi tanımlama işlemi özellikle veri tabanı ve RESTful API işlemlerinde karşınıza çıkacak bir konudur. Eğer php ile uğraşan ve RESTful API ile ilgilenen dostlarım varsa onlar hemen konuyu görür görmez bilmiştir :)
Dostlarım buradaki amaç şu. Şimdi biz önceki örnekte kisi_bilgi diye oluşturmuştuk ya bir dizi, işte bu kişi bilgi fazla olursa diyelim ayrı ayrı dizi açmak yerine bir dizi içerisinde hepsini topluyor yani bütün diziler tek bir ana dizi içerisinde bulunuyor dostlarım :). Hemen gelin bunu da bir örnekle yapalım


<?php
   $kisiler = [
      "kisi_1"=>[
          "isim"=>"Zafer",
          "soyisim"=>"Yıldız",
          "yas"=>26
       ],
       "kisi_2"=>[
          "isim"=>"Emrullah",
          "soyisim"=>"Tanıma",
          "yas"=>26 
       ],
       "kisi_3"=>[
          "isim"=>"Arda",
          "soyisim"=>"Demirci",
          "yas"=>14
       ]
];
?>

şekilde görüldüğü gibi dostlarım 3 farklı kişiyi tek bir dizi içerisine aldık :). Peki örnek veriyorum kisi_2 bilgilerini nasıl yazdıracağız ekranımıza gelin onu inceleyelim

<?php
   echo "İsminiz: ".$kisiler['kisi_2']['isim'].". Soyisminiz: ".$kisiler['kisi_2']['soyisim'].". Yaşınız: ".$kisiler['kisi_2']['yas'];

// EKRAN ÇIKTISI: İsminiz: Emrullah. Soyisminiz: Tanıma. Yaşınız: 26
?>

şeklinde dizi içerisindeki dizilerin değerine ulaşıp ister ekranımıza bastırıyoruz, ister diğer işlemlerde kullanabiliyoruz dostlarım :). Olay burada tamamen geliştiriciye bağlı ister ekrana bastırabilir, ister projesindeki işleme göre kullanabilir :).

Dostlarım bu yazımda elimden geldiğince dizilerin tanımından, key=> value şeklinde tanımlanan dizilerden, dizi içerisinde dizi kullanımından ve dizilerin ekrana bastırılmasından döz ettim :). Umarım faydalı olmuşumdur. Karmaşık geliyorsa her yazımın sonunda dediğim gibi "İstikrarlı ve azimli olmalı ve bol pratik yapmalısınız." sözümü uygularsanız başarı sizin için kaçınılmazdır dostlarım :). 

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :) 

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıMySQL de Sorgu Komutları -2-
Sonraki YazıMySQL de Sorgu Komutları -3-
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz