(PHP 4 >= 4.0.1, PHP 5)
array_unique — Diziden yinelenen değerleri siler
$dizi
[, int $seçenekler
= SORT_STRING
] )
dizi
dizisinden yinelenen değerleri sildikten sonra
yeni diziyi döndürür.
Anahtarlar korunacaktır. array_unique() önce değerleri birer dizge olarak sıralar, sonra her eleman için saptadığı ilk anahtarı tutar ve diğer tüm anahtarları yoksayar. Burada bahsedilen ilk anahtar girdi olarak verilen (sıralanmamış) dizinin ilk elemanı ile ilişkili anahtar olmayabilir.
Bilginize: İki elemanın eşit kabul edilebilmesi için şu şart sağlanmış olmalıdır: (string) $elem1 === (string) $elem2. Başka bir deyişle: İki elemanın dizgesel gösterimleri aynıysa bu iki eleman birbirine eşittir. İlk eleman daima kullanılır.
dizi
Üzerinde işlem yapılacak dizi.
seçenekler
İsteğe bağlı bu değiştirge ile işlevin davranışını değiştirebilirsiniz.
Olası seçenekler:
SORT_REGULAR
- öğeler normal olarak
karşılaştırılır (türleri değiştirilmez).
SORT_NUMERIC
- öğeler sayısal olarak
karşılaştırılır
SORT_STRING
- üyeler dizgesel olarak
karşılaştırılır
SORT_LOCALE_STRING
- öğeler dizgesel
olarak yerele göre karşılaştırılır. PHP 4.4.0 ve 5.0.2'de eklermiştir.
PHP 6 öncesinde, sistem yereli setlocale()
kullanılarak değiştirilirdi. PHP 6'dan itibaren
i18n_loc_set_default() işlevini kullanmalısınız.
Yinelenen değerler içermeyen bir dizi döner.
Sürüm: | Açıklama |
---|---|
5.2.9 |
Seçimlik seçenekler değiştirgesi, öntanımlı
SORT_REGULAR değeri ile eklendi. 5.2.9 öncesinde
işlev dahili olarak SORT_STRING ile diziyi
sıralardı.
|
5.2.10 |
seçenekler değiştirgesinin öntanımlı değeri
tekrar SORT_STRING yapıldı.
|
Örnek 1 - array_unique() örneği
<?php
$girdi = array("a" => "yeşil", "kırmızı", "b" => "yeşil", "mavi", "kırmızı");
$sonuç = array_unique($girdi);
print_r($sonuç);
?>
Yukarıdaki örneğin çıktısı:
Array ( [a] => yeşil [0] => kırmızı [1] => mavi )
Örnek 2 - array_unique() ve türler
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
Yukarıdaki örneğin çıktısı:
array(2) { [0] => int(4) [2] => string(1) "3" }
Bilginize: array_unique() çok boyutlu dizilerle çalışmak üzere tasarlanmamıştır.