PHP'de bir Java Setinin karşılığı var mı? PHP'de bir Java Setinin eşdeğeri var mı?
5
A
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"
}