2010-01-12 9 views

cevap

10

Anahtarlar çoğaltılamaz, çünkü bir dizi kullanabilirsiniz ve anahtarda istediğiniz verileri koyun.

4

SplObjectStorage yakın şeydir (iki kez aynı öğeyi içeremez bir koleksiyon anlamına gelir).

$storage = new SplObjectStorage; 
$obj1 = new StdClass; 

$storage->attach($obj1); 
$storage->attach($obj1); // not attached 
echo $storage->count(); // 1 

$obj2 = new StdClass; // different instance 
$obj3 = clone($obj2); // different instance 

$storage->attach($obj2); 
$storage->attach($obj3);  
echo $storage->count(); // 3 

Adından da anlaşılacağı gibi

, bu sadece olsa nesnelerle ile çalışıyor. Bunu skaler tiplerle kullanmak isterseniz, yeni Spl Types'un yerine yedek olarak, Spl Data Structures ve Array değiştirmeleri için ArrayObject'u kullanmanız gerekir.

5

Sen değerlerin standart PHP dizi kullanın ve array_unique fonksiyonu aracılığıyla iletebilirsiniz:

$input = array(4, "4", "3", 4, 3, "3"); 
$result = array_unique($input); 
var_dump($result); 

Çıkışlar:

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