SplObjectStorage::getHash
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplObjectStorage::getHash — Calcule un identifiant unique pour les objets contenus
Description
public function SplObjectStorage::getHash(
object $object):
string
L'implémentation dans SplObjectStorage retourne
la même valeur que spl_object_hash().
Cet objet de stockage ne doit pas contenir plus d'un objet avec le même identifiant.
Aussi, il peut être utilisé pour implémenter un jeu (une collection de valeurs uniques)
où la qualité d'un objet unique est déterminée par la valeur retournée par
cette fonction.
Liste de paramètres
object
-
L'objet dont nous devons calculer l'identifiant.
Exemples
Exemple #1 Exemple avec 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 est considéré comme égal à $o1, et donc, la valeur est remplacée
$s[$o2] = 2;
$s[$o3] = 3;
//ceci est considéré comme égal aux objets précédents
// aussi, ils peuvent être utilisés pour accéder aux valeurs y étant stockées
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>
Résultat de l'exemple ci-dessus est similaire à :