Php bir Java Set equivent var mı?

3 Cevap java

Php bir Java Set eşdeğer var mı?

(Iki kez aynı öğe içeremez bir koleksiyon anlamına gelir)

3 Cevap

Tuşları çoğaltılamaz olamaz çünkü sadece bir dizi kullanmak ve anahtarında istediğiniz verileri koyabilirsiniz.

SplObjectStorage yakın şeydir.

$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 objects ile çalışıyor. Skalar türleri ile bu kullanmak isterdim, bir yerine, yanı sıra Spl Data Structures olarak yeni Spl Types kullanın ve ArrayObject olurdu Dizi değiştirmeleri için.

Sen değerler standart PHP dizi kullanımı, ve array_unique fonksiyonu sayesinde 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"
}