• Şuradasınız
  • Anasayfa
  • PHP
  • PHP : Dizi Değişkenler ve Dizi Fonksiyonları – 2

PHP : Dizi Değişkenler ve Dizi Fonksiyonları – 2

Daha önceki yazımda dizilerle ilgili genel bilgilerden, çok boyutlu dizilerden, anahtar-değer mantığından ve birkaç dizi fonksiyonundan bahsetmiştim. Bu yazımda ise dizi fonksiyonlarını not etmeye devam ediyorum.

  • Dizilerde ekleme ve çıkarma fonksiyonları
  • Dizilerde arama ve karşılaştırma fonksiyonları
  • Dizilerde birleştirme ve sıralama fonksiyonları

Dizilerde ekleme ve çıkarma fonksiyonları

array_shift fonksiyonu, dizinin ilk elemanını çıkarır.

$dizi = array("Birinci", "İkinci", "Üçüncü");
array_shift($dizi);
echo $dizi[0];

array_unshift fonksiyonu ise dizinin başına yeni eleman veya elemanlar ekler.

$dizi = array("Birinci", "İkinci", "Üçüncü");
array_unshift($dizi, "Eksi birinci", "Sıfırıncı");
foreach($dizi as $deger)
	echo $deger . "<br/>";

array_pop fonksiyonu, dizinin sonundaki elemanı siler. Aşağıdaki kod ekrana hiçbirşey yazmayacaktır.

$dizi = array("Birinci", "İkinci", "Üçüncü");
array_pop($dizi);
echo $dizi[2];

array_push fonksiyonu, dizinin sonuna eleman veya elemanlar ekler.

$dizi = array("Birinci", "İkinci", "Üçüncü");
array_push($dizi, "Dördüncü", "Beşinci");
foreach($dizi as $deger)
	echo $deger . "<br/>";

Dizilerde arama ve karşılaştırma fonksiyonları

in_array fonksiyonu, belirtilen değerin belirtilen dizide mevcut olup olmadığına bakar ve geriye true ya da false değerini döndürür.

$dizi = array("Pzt", "Salı", "Çşr", "Prş", "Cuma");
echo in_array("Cuma", $dizi) ? "Eleman dizide mevcut" : "Eleman dizide mevcut değil";

array_search fonksiyonu, belirtilen değeri belirtilen dizide arar ve o değerin anahtarını geriye döndürür. Aşağıdaki kod ekrana “ad” yazacaktır.

$dizi = array(
	"ad" => "Ali",
	"soyad" => "Duru",
	"no" => 109030
);
echo array_search("Ali", $dizi);

array_intersect fonksiyonu, belirtilen iki veya daha fazla dizi için ortak elemanları bulur ve bunları yeni bir diziye atar.

$dizi_1 = array("Demet", "Betül", "Nergis", "Hilal", "Deniz");
$dizi_2 = array("Melike", "Nergis", "Deniz", "Aslı", "Gül");
$ortak = array_intersect($dizi_1,$dizi_2);
foreach($ortak as $deger)
    echo $deger . "<br/>";

array_intersect_assoc fonksiyonu ise array_intersect fonksiyonundan farklı olarak ilişkili dizilerin ortak elemanlarını bulur.

array_diff fonksiyonu, belirtilen iki veya daha fazla dizi için ortak olmayan elemanları bulur ve bunları yeni bir diziye atar.

Dizilerde birleştirme ve sıralama fonksiyonları

array_merge fonksiyonu, belirtilen dizileri yeni bir diziye ard arda ekler.

$dizi_1 = array(1, 2, 3, 4, 5);
$dizi_2 = array("Melike", "Nergis", "Deniz", "Aslı", "Gül");
$sonuc = array_merge($dizi_1, $dizi_2);
foreach($sonuc as $deger)
    echo $deger . "<br/>";

array_merge_recursive fonksiyonu, ise çok boyutlu dizileri birleştirirken kullanılmaktadır. Burada güzel bir örnek mevcut.

sort ve asort fonksiyonları, bir diziyi elemanlarının değerlerine göre alfabetik sıraya sokar. Aralarında ne çeşit bir fark var bilmiyorum araştırmak lazım.

$dizi = array("Melis", "Nergis", "Deniz", "Aslı", "Gül");
sort($dizi);
foreach($dizi as $deger)
    echo $deger . "<br/>";

ksrot fonksiyonu, bir diziyi anahtarlarına göre sıralar, krsort fonksiyonu ise anahtarlarına göre tersten sıralar.

$dizi = array(
	"ad" => "Ali",
	"soyad" => "Duru",
	"numara" => 109020,
	"vize" => 65,
	"final" => 80
);
ksort($dizi);
foreach($dizi as $anahtar => $deger)
    echo $anahtar . " - " . $deger . "<br/>";

array_reverse fonksiyonu, bir diziyi tersine çevirerek sıralar. Yalnız alfabetik sıraya göre sıralamaz dikkat ediniz, sadece tersine çevirir.

$dizi = array("Melis", "Nergis", "Deniz", "Aslı", "Gül");
$dizi = array_reverse($dizi);
foreach($dizi as $deger)
    echo $deger . "<br/>";

Son olarak birkaç yararlı fonksiyon daha yazıp yazıyı bitiriyorum.

array_unique fonksiyonu, bir dizideki aynı elemanları yok eder ve kalan elemanları yeni bir diziye atar.

$dizi = array("Demet", "Betül", "Nergis", "Hilal", "Deniz", "Deniz", "Betül");
$dizi = array_unique($dizi);
foreach($dizi as $deger)
	echo $deger . "<br/>";

array_flip fonksiyonu bir dizideki anahtarlar ile değerlerin yerlerini değiştirip yeni bir diziye atar.

$dizi = array(
	"ad" => "Ali",
	"soyad" => "Duru",
	"numara" => 109020,
	"vize" => 65,
	"final" => 80
);
$dizi = array_flip($dizi);
foreach($dizi as $anahtar => $deger)
	echo $anahtar . " => " . $deger . "<br/>";

Dizilerle ilgili çok kullanılan fonksiyonlar bu şekildeydi.

Benzer Yazılar

Yorumlar

  • Özgür Özer , 27 Haziran 2013 - 14:03:53

    Merhaba, yazılarınızı takip ediyorum ve okurken keyif alıyorum.
    Diziler konusunda bir yerde takıldım yardımınızı bekliyorum.

    Aşağıdaki gibi bir array’im var ve bunun içerisinde packageId’si aynı olanları birleştirmek istiyorum.


    {
    "result":
    {
    "searchId":"S:25066273-40da-4b65-9a18-c42ec7d52a14",
    "flights":[
    {
    "id":"0",
    "packageId":1
    },
    {
    "id":"1",
    "packageId":1
    },
    {
    "id":"3",
    "packageId":2
    },
    {
    "id":"4",
    "packageId":2
    }]
    }
    }

    Cevapla
  • Erdem , 07 Ağustos 2016 - 13:27:26

    sort ve asort fonksiyonlarını ikisini de şimdi denedim de. sort($dizi) fonksiyonu,
    Değerleri harf sıralamasına sokarken aynı zamanda anahtarları da yeniden sayısal değerlere döndererek yeniden sıralıyor.
    asort($dizi) fonksiyonu ise;
    Değerleri harfe göre sıralarken anahtar isimlerini aynı bırakıyor.

    Cevapla

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla