DİZİLER PHP DİZİLER NEDİR ? PHPDE DİZİ NASIL TANIMLAMA
Diziler birden fazla değeri taşırlar. Bir değişkene birden fazla değer atayarak dizi değişkenlerini oluştururuz.
Dizilerde anahtar (key) ve değer (value) olmak üzere iki tane parametre vardır .
Anahtar (key) : Her değerin bir anahtarı vardır. Herhangi bir değere ulaşmak için için bu anahtarlara ihtiyacımız vardır . Eğer biz değerimiz için herhangi bir anahatar oluşturmazsak php kendi bir anahtar atar.
Değer (value) : İstediğimiz değişkendir.
Dizi oluştururken yukarda da dediğimiz gibi anahtar tanımlamak zorunda değiliz . Php kendi anahtar atar ve bu anahtar "0" ile başlar.
$diller []="php";
$diller []="java";
$diller []="c++";
Değişkenin dizi olduğunu belirtmek için değişkenden sonra köşeli parantez kullanırız.
Dizimizden echo $diller [0]; veya echo $diller [2]; diyerek istediğimiz değeri çekebiliriz . (Biz anahtar atamadığımız için php kendisi atadı ve bu nedenle dizi anahtarımız "0" dan başladı. )
************************* Dizi tanımlama *************************
<?php
$diller []="php";
$diller []="java";
$diller []="c++";
echo $diller [0];?>
Dizimize kendimiz anahtar atamak istersek ;
<?php
$diller [1]="php";
$diller [2]="java";
$diller [3]="c++";
echo $diller [2];?>
veya
<?php
$diller ["dil1"]="php";
$diller ["dil2"]="java";
$diller ["dil3"]="c++";
echo $diller ["dil2"];?>
şeklinde kullanırız .
Bir diğer dizi tanımlama şeklide "array" komutu ile yapılır .
$diller =array ("php", "java" , "c++"); şeklindedir. Bu şekilde dizi oluşturduğumuz da anahtar oluşturmamış oluruz.
Anahtar oluşturarak array kullanımı ise şu şekildedir.
$diller= array (
1=>Php,
2=>Java,
3=>c++ );
********************* Php DİZİZLERİ YAZDIRMA (php Foreach kullanımı) *********************
Dizileri yazıdırken echo $diller[anahtar_adi]; şeklinde foreach kullanarak yazdırabiliriz.
Foreach kullanımı :
Burada foreach ten sonra parantez içerisinde dizi değişkenin adı , daha sonra "as" komutu ve ardından döngü içerisinde kullanılacak değişken ismi yazılır.
<?php
$diller= array ("php", "java" , "c++");foreach($diller as $dilleri_yaz) {
echo $dilleri_yaz;
echo "<br>";
}?>
********************* Php Dizilerin anahtarlarını yazdırma array_keys komutu *********************
Dizilerin sadece anahtarlını yazdırmak için array_keys komutu kullanılır.
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );print_r (array_keys($diller));
?>
********************* Php Dizilerin değerlerini yazdırma array_values komutu *********************
Dizilerin sadece anahtarlını yazdırmak için array_keys komutu kullanılır.
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );print_r (array_values($diller));
?>
********************* Php Dizinin değişken mi dizi mi olduğunu bulma is_array fonksiyonu *********************
Herhangi bir değişkeni dizimi yoksa normal bir değişkenmi olup olmadığını bulmak için is_array komutunu kullanrıız.
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
if (is_array($diller)) {
echo "diller değişkeni bir dizidir.";
}else {
echo "diller değişkeni dizi değildir.";
}
?>
********************* Php Bir İfadenin Dizide Tanımlı Olup Olmadığını Bulma *********************
Herhangi bir ifadenin dizide anahtar (key) oalrak tanımlanıp tanımlanmadığını bulmak için array_key_exists fonkiyonu kullanılır.
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
if (array_key_exists( "dil2" , $diller)) {
echo "dizide dil2 anahtar olarak tanımlı.";
}else {
echo "dizide dil2 anahtar olarak tanımlı. değildir.";
}
?>
********************* Php Dizilere Değer Ekleme array_push ve array_unshift komutu *********************
Dizilere değer eklemek için array_push ve array_unshift komutlarını kullanırız.
Dizilere alt kısmına yani sonuna yeni bir değer eklemek için , array_push fonksiyonunu kullanırız.Dizinin sonuna istediğimiz değeri ekler.
<?php
$dillerb=array (
1=> "php",
2=> "java",
3=> "c++",) ;array_push($dillerb , "ASP");
print_r ($dillerb);
?>
Dizilere üst kısmına yani başına yeni bir değer eklemek için , array_unshift fonksiyonunu kullanırız.Dizinin başına istediğimiz değeri ekler.
<?php
$dillerc=array (
1=> "php",
2=> "java",
3=> "c++",) ;array_unshift($dillerc , "ASP");
print_r ($dillerc);
?>
********************* Php Dizilerde Değer Silme unset , array_pop , array_shift komutu *********************
Dizilerde değer silerek unset ile istedğimiz anahtara göre , array_shift ile en üstteki değeri silme veya array_pop ile en alttaki değeri silebiliriz.
Dizilerde istediğimiz anahtara göre değer silmek için , değişken silmekte te kullandığımız unset komutunu kullanırız. İstediğimiz değeri silmek için onun anahtarını kullanırız.
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
echo "Dizinin değer silinmemiş hali ";
echo "<br>";
print_r ($diller);
echo "<br>";
unset ($diller["dil2"]);
echo "<br><br>";
echo "Dizinin dil2 değerini silinmiş hali ";
echo "<br>";
print_r ($diller);
?>
array_pop komutu ile en alttaki dizi değerini silme
<?php
$dillerb=array (
1=> "php",
2=> "java",
3=> "c++",) ;array_pop($dillerb );
print_r ($dillerb);
?>
array_shift komutu ile en üstteki dizi değerini silme
<?php
$dillerb=array (
1=> "php",
2=> "java",
3=> "c++",) ;array_shift($dillerb );
print_r ($dillerb);
?>
********************* Php Farklı Dizileri Birleştirme *********************
Tanımladığımız iki dizi birleştirmek için array_merge komutunu kullanırız .
<?php$diller1=array (
1=> "php",
2=> "java",
3=> "c++") ;
$diller2=array (
1=> "c",
2=> "asp",
3=> "sql") ;$diller=array_merge($diller1 , $diller2);
echo $diller[2]."<br>";
echo $diller[5]."<br>";
?>
********************* Php Dizi Değer Cıkarıp Yeni Dizi Oluşturma *********************
Dizideki istediğimiz değerleri alıp yeni bir dizi oluşturmak için array_slice fonksiyonu kullanılır. Array_slice fonksiyonu ile diziden parcayı ayırıp yeni bir dizi yaparız.
array_slice fonksiyonunu kullanırken nerden , ne kadar parametrelerini kullanırız . Pozitif rakam kullanırsak ilk değerlerden , negatif rakam kullanırsak son değerler den işlem yapar. array_slice ($dizi_adi , nerden , ne kadar ) şeklinde kullanılır.
<?php
$dillera=array (
1=> "php",
2=> "java",
3=> "c++",
4=> "c",
5=> "asp",
6=> "sql") ;$yeni_dizi=array_slice($dillera , 3);
print_r ($yeni_dizi);
?>
Yukarıda örnekte görüldüğü gibi array_slice fonksiyonu 3 rakamını parametre aldı ve ilk 3 değeri atlayarak 4. değerden sonraki değerleri dizimizden çıkardı. Burada 3 rakamının yanında ne kadar aldığını belirtmediğimiz için gönderdiğimiz değerden başlayarat dizinin sonuna kadar bütün değerleri aldı . Yani eğer fonksiyonumuzu $yeni_dizi=array_slice($dillera , 3 , 2); bu şekilde yazmış olsaydık 4. değerden başlayıp 2 değer alacaktı . Aşağıdaki örneği inceleyiniz.
<?php
$dillera=array (
1=> "php",
2=> "java",
3=> "c++",
4=> "c",
5=> "asp",
6=> "sql") ;$yeni_dizi=array_slice($dillera , 3 , 2 );
print_r ($yeni_dizi);
?>
Eğer dizimizde değer çıkarmayı üsten değil de alttan başlama istiyorsak fonksiyondaki ilk parametremizi negatif olarak belirleyeceğiz.
<?php
$dillera=array (
1=> "php",
2=> "java",
3=> "c++",
4=> "c",
5=> "asp",
6=> "sql") ;$yeni_dizi=array_slice($dillera , -6 , 2 );
print_r ($yeni_dizi);
?>
********************* Php Dizide Kaç Tane Değer Olduğunu Bulma count fonksiyonu *********************
<br>
Dizimizde kaç tane değer olduğunu saydırma için count fonksiyonu kullanabiliriz .
<?php
$diller =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
$say=count($diller);
echo "Dizimizde ".$say." Tane değer var";
?>
********************* Php Dizide Aynı Değerlerden Kaç Tane Olduğunu Bulma *********************
Dizimizdeki bir değerin birden fazla yer alıyorsa ve bu değerin dizimizde kaç defa tekrar ettiğini bulmak istiyorsak array_count_values parametresini kullanırız .
<?php
$dillerd =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" ,
"dil4"=>"php",
"dil5"=>"php" );
$say=array_count_values($dillerd);
print_r ($say);
?>
********************* Php Dizi Değerlerini Albafetik Sıralama *********************
Dizimizdeki değerleri alfabetik olarak sıralamak için asort ve arsort komutları kullanılır. asort komutu dizi değerlerimizi A dan Z ye sıralarken , arsort komutu ise dizi değerlerimizi Z den A ya doğru sıralamaktadır.
<?php
$dillerd =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
asort($dillerd);
print_r ($dillerd);
?>
********************* Php Dizideki Anahtarları Albafetik Sıralama *********************
Dizimizdeki anahtarları alfabetik olarak sıralamak için ksort ve krsort komutları kullanılır. asort komutu dizimizi anahtarlarına göre A dan Z ye sıralarken , arsort komutu ise dizimizi anahtarlarına göre Z den A ya doğru sıralamaktadır.
<?php
$dillerd =array( "dil1"=> "php",
"dil2"=> "java" ,
"dil3"=> "c++" );
krsort($dillerd);
print_r ($dillerd);
?>
********************* Php İki Dizi Arasındaki Farkı Bulma *********************
İki dizi arasındaki farkları bulmak için array_diff komutu kullanılır . Bu komutu kullanırken farkını bulmak istediğimiz birinci dizimiz alırız ve ikinci dizimiz ile karşılaştırırız.
<?php
$diller1=array (
1=> "php",
2=> "java",
3=> "c++") ;
$diller2=array (
1=> "php",
2=> "asp",
3=> "sql") ;
$fark=array_diff($diller1 , $diller2);print_r ($fark);
?>
Birincide dizide olup ikinci dizde olmayan değerleri gösterdi.
********************* Php Diziden Rastgele Değer Seçme *********************
Dizilerimizde array_rand fonkisyonu ile rastgele değer seçebiliyoruz . Burada dikkat edilmesi gereken tek nokta array_rand fonksiyonu dizimizden rastgele değer değil , rastegele anahtar çekmektedir. Aşağıdaki örneği inceleyiniz
<?php
$dillerr=array (
1=> "php",
2=> "java",
3=> "c++",
4=> "c",
5=> "asp",
6=> "sql") ;$rastgele_anahtar=array_rand($dillerr ); // Rastgele anahtarı aldı
echo $dillerr[$rastgele_anahtar]; // bu şekildede aldığımız rastegele anahtarı dizimize yerleştirerek değerimizi çektik
?>
********************* Php Dizi Değerini Değişkene Atama List Komutu *********************
Dizimizdeki değerleri ayrı ayrı değişkenlere atamak için list komutu kullanılır. Komuttaki her değişken sırasıyla dizideki değeri alıyor.
<?php
$dillerw=array (
"php",
"java",
"c++") ;list ($dil11,$dil12,$dil13)=$dillerw;
echo $dil12;?>