Breaking News
Loading...
, , , , , , , , , , ,

PHP - Dizi Değişkenler ve Dizi Fonksiyonları 1

Share on Google Plus

           


Dizi Değişkenler ve Dizi Fonksiyonları

Daha önceki yazımda değişkenlerveri tipleri ve bu iki yapıyla ilgili olan fonksiyonları içeren bir döküman oluşturmaya çalışmıştım. Bu yazıda ise programlamada çok önemli bir yer tutan, dizilerden vedizilerle ile ilgili çok kullanılan fonksiyonlardan bahsetmeye çalışacağım. Yazıyı oluşturan başlıklar şu şekilde;
  • Dizilerle ilgili genel bilgiler
  • Dizilerde anahtar-değer mantığı
  • İç içe diziler
  • Genel amaçlı dizi fonksiyonları

Dizilerle İlgili Genel Bilgiler

Dizi değişkenlerbenzer verileri veya birbirleriyle ilişkili verileri bir arada tutmak için düşünülmüş bir değişken türüdür. Programlama yaparken programcıya büyük avantaj sağlarlar. Aşağıdaki gibi tanımlanırlar;
?
1
$dizi = array("Sayısal","Sözel","Eşit Ağırlık");
Programlama dillerinin birçoğunda dizi tanımlanırken; dizinin boyutu, kaç elemanlı olacağı da belirtilir. Fakat PHP de boyutu belirtmenize gerek yoktur, PHP diğer dillere göre bu konuda daha esnek bir dildir.
Yukarıdaki dizinin herhangi bir elemanına erişmek için şu şekilde bir yol izleyebilirsiniz;
?
1
2
echo $dizi[0];
echo $dizi[1];
Diziye yeni bir eleman eklemek için aşağıdaki gibi bir kod yazabilirsiniz; dizinin ilk elemanının sıfırıncı eleman olduğunu söylersek, dizi[2] “Yabancı Dil” değerini döndürecektir.
?
1
2
3
$dizi = array("Sayısal","Sözel","Eşit Ağırlık");
$dizi[] = "Yabancı Dil";
echo $dizi[3];

Dizilerde Anahtar – Değer Mantığı

Dizilerde okunurluğu/anlaşılırlığı artırmak için veya gerektiği yerde kolaylık sağlaması için her elemanı temsil eden bir anahtar kullanılabilir.
?
1
2
3
4
5
$dizi = array(
    "ad" => "Cem",
    "soyad" => "Demir",
    "dogum" => 1991
);
Dizi elemanlarına ulaşırken, o elemanın anahtarını veya elemanın sırasını kullanabilirsiniz; aşağıdaki iki komut da aynı çıktıyı verecektir.
?
1
2
echo $dizi["soyad"];
echo $dizi[1];
Tüm dizi elemanlarını anahtarlarıyla beraber print_r komutu ile listeleyebilirsiniz;
?
1
print_r($dizi);
Tüm elemanları bir foreach döngüsü ile de listeleyebilirsiniz;
?
1
2
foreach($dizi as $deger => $anahtar)
    echo $deger . " - " . $anahtar . "<br/>";

İç içe – Çok Boyutlu Diziler

Dizi içinde başka bir dizi kullanarak çok boyutlu bir yapı oluşturmanız da mümkün.
?
1
2
3
4
5
6
$dizi = array(
    array(2011,2012,2013),
    array("Ocak", "Şubat", "Nisan"),
    array("Pazartesi", "Salı", "Çarşamba")
);
echo $dizi[2][1] . " - " . $dizi[1][2] . " - " . $dizi[1][0];
Yukarıdaki kod ekrana “2012 – Nisan – Pazartesi” yazdıracaktır.
Anahtar-değer mantığını çok boyutlu dizilerde de kullanabilirsiniz;
?
1
2
3
4
5
6
$dizi = array(
    "yil" => array(2011,2012,2013),
    "ay"  => array("Ocak", "Şubat", "Nisan"),
    "gun" => array("Pazartesi", "Salı", "Çarşamba")
);
echo $dizi[yil][1] . " - " . $dizi[ay][2] . " - " . $dizi[gun][0];
Dizi değişkenlerle ilgili genel olarak yazacaklarım bu kadar. Biraz da dizi fonksiyonlarına bakalım.

Genel Amaçlı Dizi Fonksiyonları

Bu başlık altında genel amaçlı, çok kullanılan birkaç dizi fonksiyonunu not edeceğim.
is_array fonksiyonu, bir değişkenin dizi olup olmadığını kontrol eder ve geriye true ya da false döndürür.
?
1
echo is_array($dizi) ? "Bu değişken dizidir" : "Bu değişken dizi değildir";
count fonksiyonu, bir dizinin eleman sayısını döndürür.
?
1
2
$dizi = array("Ali", "Duru", "Bilgisayar Mühendisi");
echo count($dizi);
explode fonksiyonu, bir metni belirtilen bir karakteri referans alarak elemanlara ayırır ve bir dizi haline getirir.
?
1
2
3
4
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit";
$dizi = explode(" ", $text);
foreach($dizi as $deger)
    echo $deger . "<br/>";
implode fonksiyonu, bir dizideki değerleri aralarına istenilen bir karakter koyarak birleştirir. explode fonksiyonunun tersi gibi çalışır.
?
1
2
3
$dizi = array("Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma");
$text = implode($dizi, " - ");
echo $text;
list fonksiyonu, bir dizideki elemanları ayrı ayrı değişkenlere atamak için kullanılır;
?
1
2
3
$dizi = array("Ali", "Duru", "Bilgisayar Mühendisi");
list($ad, $soyad, $meslek) = $dizi;
echo $ad . " # " . $soyad . " # " . $meslek;

Normalde bu yazı çok daha uzun olacaktı fakat dizileri ve dizi fonksiyonlarını not etmek için 2 farklı yazı yazmak daha mantıklı olacaktır diye düşünüyorum. Dizilerle ilgili diğer fonksiyonlara bakmak için siziburaya alabilirim.

You Might Also Like

0 yorum

About me

Like us on Facebook

Blog Archive