Czy istnieje odpowiednik zestawu Java w php?Czy istnieje odpowiednik zestawu Java w php?
(co oznacza, że zbiór nie może zawierać ten sam element dwa razy)
Czy istnieje odpowiednik zestawu Java w php?Czy istnieje odpowiednik zestawu Java w php?
(co oznacza, że zbiór nie może zawierać ten sam element dwa razy)
Można po prostu użyć tablicy i umieścić żądane dane w kluczu, ponieważ klucze nie mogą być duplikowane.
SplObjectStorage jest najbliższa rzecz.
$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
Jak sama nazwa wskazuje, to działa tylko z obiektów chociaż. Jeśli chcesz użyć tego z typami skalarnymi, będziesz musiał użyć nowego Spl Types jako zamiennika, a także Spl Data Structures i ArrayObject do wymiany matrycy.
Można użyć standardowej tablicy PHP wartości i przekazać go przez array_unique funkcję:
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
Wyjścia:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}