PHP işlevi array_unique çalışmıyor

2 Cevap php

PHP bir dizi var ve ben çiftleri kaldırmak istiyorum.

Ben sadece array_unique() yeni bir dizi oluşturmak ve çiftleri kaldırmak için işlevi döndü.

İşte kod:

$unlink = array();
$unlink = array_unique($linkphoto);

foreach ($unlink as $link) {
    echo $link, "<br />";
}

Hala çiftleri gösterir! Yanlış ne hakkında herhangi bir öneriniz?

2 Cevap

Aşağıdaki gibi documentation göre, eşitlik için bir durumdur:

Note: İki elemanları sadece ve sadece elem2 olmalıdır (string) $ elem1 === (string) $ eşit olarak kabul edilir. Deyişle: dize gösterimini aynı olduğunda. Birinci eleman kullanılacaktır.

Veri ne tür kullanıyorsunuz? İki öğe dize eşit değilse, o zaman ikisi de dizide kalacağız.

Biz array_unique kendisine uygulanan önce içeriği $linkphoto vardır, ne gibi yardım edebilmek için daha fazla bağlam gerekir. Örneğin:

<?php
$array = Array('A','B','C','D','B');
print_r($array); // Array ( [0] => A [1] => B [2] => C [3] => D [4] => B )
$result = array_unique($array);
print_r($result); // Array ( [0] => A [1] => B [2] => C [3] => D ) 
?>

@ Nobody_ belirtildiği gibi onların dize temsilleri aynı ise, sadece çiftleri ortadan kaldıracaktır.