SplObjectStorage::getHash

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplObjectStorage::getHash Calcula um identificador único para os objetos contidos

Descrição

public SplObjectStorage::getHash(object $object): string

Este método calcula um identificador para os objetos adicionados a um objeto SplObjectStorage.

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.

Erros/Exceções

Uma RuntimeException é lançada quando o valor retornado não é uma string.

Exemplos

Example #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:

2
3

Veja Também