Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     Php’de Diziler(Detaylı Anlatım)
     admin     13.04.2012     23:26:56

 PHP’de de diğer teknolojilrde ve programlama dillerinde olduğu gibi diziler önemli bir konudur. Dizinin görevi bildiğiniz gibi bir değişkenin aynı anda birden çok veriyi hafızasında tutabilmesi için kullanılır. Bu veriler aynı türden olabileceği gibi farklı türlerden de olabilir. Detay için başlığa tıklayınız.



Dizileri oluşturmadaki temel fonksiyonumuz array() fonksiyonudur.

Örnek Kullanım -1: 

<?

$ogrenciler = array ("Emin", "Murat", "Ali", "Fatih", "Fatih2");

print $ogrenciler[0];

print $ogrenciler[1];

print $ogrenciler[2];

print $ogrenciler[3];

print $ogrenciler[4];

?>

Ekran çıktısını deneyiniz.

Örnek Kullanım -2:(array kullanmadan)

<?php

$ogrenciler[] = "Emin";

$ogrenciler[] = "Murat";

$ogrenciler[] = "Ali";

$ogrenciler[] = "Fatih";

print $ogrenciler[0]."<br>";

print $ogrenciler[1];

?>

Ekran çıktısını deneyiniz.

Örnek Kullanım -3:(array kullanmadan)

<?php

$ogrenciler[] = "Emin";

$ogrenciler[] = "Murat";

$ogrenciler[] = "Ali";

$ogrenciler[] = "Fatih";

//.........................

$ogrenciler[0] = "Volkan";

$ogrenciler[15] = "Basri";

$ogrenciler[] = "Osman";

print ("1’nci isim: $ogrenciler[0] <br>");

print ("2’nci isim: $ogrenciler[1] <br>");

print ("3’ünci isim: $ogrenciler[2] <br>");

print ("4’üncü isim: $ogrenciler[3] <br>");

print ("17’ncı isim: $ogrenciler[16] <br>");

print ("16’ncı isim: $ogrenciler[15] <br>");

?>

Ekran çıktısı için deneyiniz.

Birazda farklı türden verileri tutan dizilere bakalım : 

Aşağıdaki tabloyu bir dizi olarak düşünün ve bu tablonun her bir sütununu da dizinin değişkeni olarak düşünün.

Öğrenci No Adı Soyadı Sınav-1 Sınav-2 Sınav-3
1 Halil ULUTAŞ .. .. ..
2 Ayhan SARI .. .. ..
3 Murat DİNÇ .. .. ..
4 Evren TEMİZ .. .. ..

 

 

 

 

Diziler içindeki elemanlara değer vermek amacıyla ise “=>” işareti kullanılır. Örneğin tablodaki verileri aşağıdaki php kodlarını kullanmalıyız.

<?php

$ogrenciler = array (

array ( adi => "Emin , soyadi => " EROL", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => Murat", soyadi => "DİNÇ", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => " Ali ", soyadi => " SAKA", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => "Fatih", soyadi => "ULUKAYA", sinav1 =>"", sinav2 =>"", not =>""));

?>

Bu komut topluluğundaki $ogrenciler dizinin ismini adi, soyadi, sinav1, sinav2 ve not ifadeleri ise dizinin endekslerini belirtir. Burada dikkat edilmesi gereken noktalardan bir tanesi eğer endeks alanımız birden fazla kelimeden oluşuyorsa bunları çift tırnak içine almalıyız. Üstteki komutlara alternatif olarak şu komutlarıda kullabiliriz.

<?php

$ogrenciler[0][adi] = "Emin";

$ogrenciler[0][soyadi] = "EROL";

$ogrenciler[0][sinav1] = "";

$ogrenciler[0][sinav2] = "";

$ogrenciler[0][not] = "";

// Buraya başka kodlar girecek

print $ogrenciler[0][adi];

?>

Bir dizi değişkende kaç boyut olacaksa, o kadar iç içe array() öğesi oluşturabiliriz. Buna göre tek boyutlu bir dizi değişken sadece bir array() komutu ile ve sadece değerler verilerek oluşturulabilir. Diyelim ki yukarıdaki öğrenci listemiz sadece öğrencilerin isimlerinden oluşacak. Bu durumda $ogrenciler değişkenine ilişkin satırı şöyle yazabilirdik:

$ogrenciler = array ("Emin", "Murat", "Ali", "Fatih");

PHP, böyle tek boyutlu bir dizinin örneğin birinci elemanını, "$ogrenciler[0]" adıyla bilir. 

 

Foreach() Fonksiyonu

Dizileri programlarınızda kullanırken siz en büyük kolaylık verecek fonksiyon foreach() fonksiyonudur. Özellikle veritabanı uygulamalarında for döngüsü yerine kullanılan foreach fonksiyonu dizinin eleman sayısını kendisi otomatik algılar. Böylece sizin herhangi bir for döngüsü ve sayaç kullanmanıza gerek kalmaz. Aşağıdaki örneği dikkatle inceleyiniz.

<?php

$ogrenciler[] = "Emin";

$ogrenciler[] = "Murat";

$ogrenciler[] = "Ali";

$ogrenciler[] = "Fatih";

foreach ($ogrenciler as $anahtar=>$deger)

{ print ("$anahtar = $deger<br>"); }

?>

ÇIKTI :

0 = Emin

1 = Murat

2 = Ali

3 = Fatih

 

Dizi Düzenleme

Dizileri program içinde kullanırken çeşitli düzenlemelere ihtiyacınız olabilir. Bunlar sıralama, birleştirme, ekleme, silme vb işlemler olabilir. Şimdi bu işlemleri sırayla inceleyelim:

Dizileri Sıralama

Bir dizinin içindeki değerleri alfabetik veya küçükten büyüğe doğru sıralamak için sort() fonksiyonunu kullanırız.

Örnek Kod

$birinci_dizi=array("Özbay","Muharrem","Hasan","Şahika","Altun", "Taç","Civelek","Tabak");

sort($birinci_dizi);

PHP, dizideki bütün değerleri A’dan Z’ye sıraya sokacaktır. sort() fonksiyonu dizinin içeriğini değiştirir. Bir diziyi Z’den A’ya veya büyükten küçüğe doğru sıralamak için de rsort() fonksiyonunu kullanabilirsiniz. Bir noktada dikkatli olmak gerekir. bu fonksiyonu

ilişkili (değerlerin anahtarı olarak endeks adı bulunan) dizide kullanırsanız, PHP, anahtar değerlerini (endeks adlarını) atar, yerine 0’dan itibaren rakam koyar. Bunu önlemek için, ilişkili dizileri asort() veya ksort() fonksiyonu ile sıralamak gerekir.

İlişkili Dizileri Sıralama

İlişkili dizilerin diğer dizi değişkenlere göre farkı, değerlerinin bir de adı bulunmasıdır. Değerlerin adlarına anahtar denir. Bir ilişkili diziyi değerlerine göre sıralamak için asort() fonksiyonu kullanılır.

Örnek Kod

$birinci_dizi=array(ogr_01=>"Özbay",ogr_02=>"Muharrem",ogr_013>"Hasan ",ogr_04=>"Şahika");

asort($birinci_dizi);

PHP, bu diziyi değerler itibariyle alfabetik sıraya sokacaktır. Eğer sıranın değere göre değil de değerlerin anahtarına (burada ogr_01, ogr_02 olan kelimeler) göre yapılmasını istiyorsak, ksort() fonksiyonunu kullanırız.

Örnek Kod

$birinci_dizi = array(ogr_01=>"Özbay", ogr_02=>"Muharrem", ogr_013>"Hasan", ogr_04=>"Şahika");

ksort($birinci_dizi);

PHP, bu diziyi anahtarlara göre alfabetik sıraya sokacaktır.

Dizilere Değişken Ekleme

Bir diziye yeni değişkenler eklemek için, array_push() fonksiyonuna mevcut dizinin adını ve yeni değerleri yazarız.

Örnek Kod

$birinci_dizi = array ( "Özbay" , "Muharrem" , "Hasan" , "Şahika" );

$yeni = array_push ($birinci_dizi, "Altun" , "Taç" , "Civelek" , "Tabak" );

Burada $yeni adlı değişken sadece $birinci_dizi adlı dizinin yeni eleman sayısını tutar.

array_push(), kendisine adını verdiğimiz dizinin içeriğini değiştirir. Yukarıdaki örnekte içine yeni değerler yazılan dizinin elemanlarını görüntülemek için şöyle bir kod yazabiliriz:

Örnek Kod

print ("\$birinci_dizi adlı dizide $yeni_dizi adet değişken var<br>");

foreach ( $birinci_dizi as $ogrenci )

{ print ("$ogrenci <br> "); }

Dizileri Birleştirme

İki veya daha fazla dizinin bütün elemanlarını birleştirerek, ortaya yeni bir dizi çıkartır.

Örnek Kod

$birinci_dizi = array ( "Özbay" , "Muharrem" , "Hasan" , "Şahika" );

$ikinci_dizi = array ( "Altun" , "Taç" , "Civelek" , "Tabak" );

$yeni_dizi = array_merge ( $birinci_dizi, $ikinci_dizi );

Bu kod ile oluşturulan $yeni_dizi isimli dizi değişkenin hangi elemanlara sahip olduğunu, şöyle bir kodla görebilirsiniz:

foreach ( $yeni_dizi as $yeni_eleman )

{  print (" $yeni_eleman <br>");  }

İkinci dizinin bütün elemanları, birinci dizinin elemanlarının arkasına eklenmiş olmalı.

array_merge() işlemi, çok boyutlu ilişkili dizilere de uygulanabilir; PHP iki dizideki uyumluuyumsuz, yani birinde olan diğerinde olmayan bütün anahtar+değer çiftlerini yeni dizide de oluştur. (array_merge() işleminden sonra birleştirilen dizilerin değişmeden kaldığına dikkat edin.)

Dizinin İlk Elemanını Silme

Bir dizi-değişkenin ilk elemanını tümüyle silmek için array_shift() fonksiyonunu

kullanırız. Bu fonksiyona sadece birinci elemanı silinecek dizinin adını vermek yeter.

Örnek Kod

$birinci_dizi = array("Özbay","Muharrem","Hasan","Şahika");

$silinen = array_shift($birinci_dizi);

array_shift(), adını verdiğiniz dizinin içeriğini değiştirir; buradaki örnekte, $silinen adlı değişken dizinin silinen birinci elemanın değerini tutar.

Diziden Kesit Alma

Bir dizi-değişkenin bütün elemanları yerine bir kesitini kullanmak istiyorsak, bunu array_slice() fonksiyonu ile yapabiliriz. Bu fonksiyona kesit alınacak dizinin adı, kesitin başladığı yer ve kaç adet değişken alınacağı argüman olarak verilir.

Örnek Kod

$birinci_dizi=array("Özbay","Muharrem","Hasan","Şahika","Altun","Taç","Civelek","Tabak");

$kesit=array_slice($birinci_dizi,3,4);

Burada, PHP’ye $kesit adlı yeni dizi değişkene, $birinci_dizi adlı dizinin 3’ncü değerinden itibaren (3 dâhil) dört değeri yerleştirmesini bildiriyoruz. array_slice(), adını verdiğimiz değişkenin içeriğine dokunmaz, yeni dizi değişken oluşturur.

Facebook'ta Paylaş    
Diğer PHP İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...

Ayhan Sarı    13.04.2012    23:30:07

MEGEP İnternet Programcılı-3 modülünden alınmıştır.


Ayhan Sarı    13.04.2012    23:35:36

Modülün bu konuyu anlatımını başarılı bulduğum için buradan paylaşmayı doğru buldum. Yine anlaşılmayan kısımlarla ilgili yorum yazarak sorularınızı iletebilirsiniz.

 


ahmet    03.12.2013    10:40:28

php kodlarıyla dize kullanımı


ahmet    03.12.2013    11:05:53

diziler kullanımı ile ilgili