Bu yazıda, PHP’deki Bir Dizinden Çift Değerlerin Nasıl Kaldırılacağını Göreceğiz. PHP dili, yinelenen değerleri olmayan bir dizi döndüren dahili array_unique() fonksiyonuna sahiptir. PHP array_unique() yöntemi yinelenen değerleri bir diziden kaldırır. Bir giriş dizisi alır ve yinelenen değerler olmadan yeni bir dizi döndürür.
PHP’deki Bir Diziden Çift Değerleri Kaldır
İki veya daha fazla dizi değeri aynıysa, ilk görünüm korunur ve diğeri kaldırılır. Döndürülen dizi, ilk dizi öğesinin anahtar türünü tutacaktır.
Yazım Kuralı:
1 2 3 | array_unique(dizi, [sıralamaTürü]) |
Bir sıralamaTürü parametresi isteğe bağlıdır ve dizi öğesinin nasıl karşılaştırılacağını belirtir. Aşağıdakiler bazı sıralamaTürü bayrakları.
SORT_REGULAR – genellikle öğeleri karşılaştır (türleri değiştirmez)
SORT_NUMERIC – öğeleri sayısal olarak karşılaştır
SORT_STRING – öğeleri dizge olarak karşılaştır
SORT_LOCAL_STRING – Öğeleri geçerli yerel ayara göre dizeler olarak karşılaştırın.
Aşağıdaki örneğe bakınız.
Böylece, tekrarlanan değerler dizisini tanımladık ve şimdi bu diziyi array_unique() işlevine iletiyoruz.
1 2 3 4 5 6 | <?php $data = [5, 21, 5, 4, 46, 4, 29, 4, 18]; print_r(array_unique($data)); |
PHP array_unique() fonksiyonu İlişkisel Dizi
Artık ilişkisel diziyi array_unique işlevine geçirelim ve çıktısını görelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $data = ['a' => 'web tasarım', 'b' => 'grafik', 'd' => 'veritabanı', 'f' => 'grafik', 'c' => 'grafik', 'k' => 'veritabanı', 'n' => 'nesne tabanlı programlama']; $cikti = array_unique($data); print_r($cikti); |
Burada array_unique() ‘nin çok boyutlu diziler üzerinde çalışmaya yönelik olmadığını not etmenizde fayda var.
Çok Boyutlu Dizide Tekrarlı Değerleri Silme (MultiDimential Array)
Herhangi bir anahtar dizini için benzersiz olan çok boyutlu bir dizi oluşturabilirsiniz. Aşağıdaki koda bakınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php function unique_multidim_array($array, $key) { $temp_array = array(); $i = 0; $key_array = array(); foreach($array as $val) { if (!in_array($val[$key], $key_array)) { $key_array[$i] = $val[$key]; $temp_array[$i] = $val; } $i++; } return $temp_array; } |
Böylece, değerleri aynı olan, çok boyutlu diziden değerleri çıkardığımız bir fonksiyon yarattık.
Çok boyutlu bir dizi ve anahtarın argümanını alıyoruz.
Yukarıdaki fonksiyonda, anahtar önemli bir parametredir çünkü anahtarın değeri, dizi değerlerinin bir dizi içinde kalıp kalmayacağını belirler. Çift olup olmadığına karar verir.
Aşağıdaki örnekte bulunan kodun tamamına bakınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php function unique_multi_array($array, $key) { $temp_array = array(); $i = 0; $key_array = array(); foreach($array as $val) { if (!in_array($val[$key], $key_array)) { $key_array[$i] = $val[$key]; $temp_array[$i] = $val; } $i++; } return $temp_array; } $data = array( 0 => array("id"=>"1", "isim"=>"Hayri", "yas"=>"35"), 1 => array("id"=>"2", "isim"=>"Ahmet", "yas"=>"40"), 2 => array("id"=>"1", "Hayri"=>"Krunal", "yas"=>"35"), ); $cikti = unique_multi_array($data,'id'); print_r($cikti); |
Sonuç olarak , PHP İçindeki Bir Diziden Yinelenen Değerler Nasıl Kaldırılır görmüş olduk
Yorum Yap