Esiste l'equivalente di un set Java in php?Esiste l'equivalente di un set Java in php?
(che significa una collezione che non può contenere lo stesso elemento due volte)
Esiste l'equivalente di un set Java in php?Esiste l'equivalente di un set Java in php?
(che significa una collezione che non può contenere lo stesso elemento due volte)
Si potrebbe semplicemente utilizzare una matrice e inserire i dati desiderati nella chiave perché le chiavi non possono essere duplicate.
SplObjectStorage è la cosa più vicina.
$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
Come suggerisce il nome, questo sta lavorando solo con gli oggetti però. Se si desidera utilizzarlo con i tipi scalari, è necessario utilizzare il nuovo Spl Types come sostituzione, nonché lo Spl Data Structures e lo ArrayObject per le sostituzioni di array.
È possibile utilizzare una matrice PHP standard di valori, e farla passare attraverso array_unique funzione:
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
Uscite:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}