SplObjectStorage::getHash
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplObjectStorage::getHash â
ä¸ãĢåĢããĒãã¸ã§ã¯ããŽä¸æãĒčåĨåãįŽåēãã
čĒŦæ
public function SplObjectStorage::getHash(
object $object):
string
SplObjectStorage ãŽåŽčŖ
ã§ã¯ã
spl_object_hash() ã¨åãå¤ãčŋããžãã
ãšããŦãŧã¸ãĒãã¸ã§ã¯ããĢã¯ãåãčåĨåãŽãĒãã¸ã§ã¯ãã褿°æ ŧį´ãããã¨ã¯ã§ããžããã
ãããåŠį¨ããĻããģãã (䏿ãĒå¤ãŽãŗãŦã¯ãˇã§ãŗ) ãåŽčŖ
ãããŽãĢãäŊŋããžãã
ãĒãã¸ã§ã¯ãã䏿ã§ããã¨ããæ§čŗĒã¯ãããŽéĸæ°ãŽčŋãå¤ã䏿ã§ããã¨ãããã¨ã§åŽįžã§ããžãã
ããŠãĄãŧãŋ
object
-
čåĨåãįŽåēããããĒãã¸ã§ã¯ãã
æģãå¤
įŽåēããčåĨåãæååã§čŋããžãã
ã¨ãŠãŧ / äžå¤
čŋãããå¤ãæååã§ãĒãå ´åãĢ
RuntimeException ããšããŧããžãã
äž
äž1 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 㯠$o1 ãĢįããã¨ãŋãĒãããå¤ãįŊŽãæããããžã
$s[$o2] = 2;
$s[$o3] = 3;
// ãããã¯å
ãģãŠãŽãĒãã¸ã§ã¯ãã¨įããã¨ãŋãĒããã
// ãããģãŠæ ŧį´ããå¤ãĢãĸã¯ãģãšã§ãããããĢãĒããžã
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>
ä¸ãŽäžãŽåēåã¯ã
ãã¨ãã°äģĨä¸ãŽãããĢãĒããžãã