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 -->
Dizimize kendimiz anahtar atamak istersek ; veya ş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 adlı bir örnek dizi oluşturalım.
$diller= array ("php", "java" , "c++");
Oluşturduğumuz dizimizi şimdi foreach kullanarak yazdıralım.
foreach($diller as $dilleri_yaz) {
echo $dilleri_yaz;
echo "<br>";
}?>
<-- Php Dizilerin anahtarlarını yazdırma array_keys komutu -->
Php de dizilerin sadece anahtarlarını yazdırmak için array_keys komutu kullanılır. Aşağıdaki örneğimizi inceleyelim.
<?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 -->
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 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 İ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;?>
$dil1 değişkenine "php",
$dil2 değişkenine "java",
$dil3 değişkenine "c++" atamış olduk.