array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_uniqueDiziden yinelenen değerleri siler

Açıklama

array_unique ( array $dizi [, int $seçenekler = SORT_STRING ] ) : array

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.

Değiştirgeler

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.

Dönen Değerler

Yinelenen değerler içermeyen bir dizi döner.

Sürüm Bilgisi

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ı.

Örnekler

Ö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"43"3");
$result array_unique($input);
var_dump($result);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Notlar

Bilginize: array_unique() çok boyutlu dizilerle çalışmak üzere tasarlanmamıştır.