SplObjectStorage::getHash
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplObjectStorage::getHash —
Calcula um identificador único para os objetos contidos
Descrição
A implementação em SplObjectStorage retorna
o mesmo valor que spl_object_hash().
O objeto de armazenamento nunca conterá mais de um objeto com o mesmo identificador.
Portanto, pode ser usado para implementar um conjunto (um armazenamento de valores únicos)
onde a qualidade de um objeto ser único é determinada pelo fato do valor
retornado por esta função ser único.
Parâmetros
object
-
O objeto cujo identificador será calculado.
Valor Retornado
Uma string com o identificador calculado.
Exemplos
Exemplo #1 Exemplo de SplObjectStorage::getHash()
<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
public function getHash($o) {
return get_class($o);
}
}
class A {}
$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;
$s[$o1] = 1;
// $o2 é considerado igual a $o1, então o valor é substituído
$s[$o2] = 2;
$s[$o3] = 3;
// esses são considerados iguais aos objetos anteriores
// então eles podem ser usados para acessar os valores armazenados sob eles
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>
O exemplo acima produzirá
algo semelhante a: