
spl_object_hash 함수는 PHP에서 객체의 고유한 해시 값을 반환합니다. 이 함수는 객체의 내부 구조를 기반으로 해시 값을 생성하므로, 동일한 객체의 인스턴스라도 해시 값이 다를 수 있습니다.
위 코드에서 $object1과 $object2는 동일한 stdClass 객체의 인스턴스이지만, 서로 다른 객체 인스턴스이므로 spl_object_hash 함수에 의해 반환되는 해시 값이 다릅니다.
예를 들어, 위 코드를 실행하면 다음과 같은 결과가 출력될 것입니다.
#hostingforum.kr
000000007d4e9f470000000000000000
000000007d4e9f470000000000000000
위 결과에서 두 해시 값이 다르다는 것을 알 수 있습니다. 이것은 두 객체가 서로 다른 인스턴스임을 의미합니다.
만약 두 객체가 동일한 인스턴스라면, spl_object_hash 함수에 의해 반환되는 해시 값이 동일할 것입니다.
예를 들어, 다음 코드를 통해 동일한 객체 인스턴스를 생성하고 spl_object_hash 함수를 사용하여 해시 값을 확인할 수 있습니다.
#hostingforum.kr
php
$object1 = new stdClass();
$object1->name = 'john';
$object2 = $object1;
echo spl_object_hash($object1) . "n";
echo spl_object_hash($object2) . "n";
위 코드를 실행하면 다음과 같은 결과가 출력될 것입니다.
#hostingforum.kr
000000007d4e9f470000000000000000
000000007d4e9f470000000000000000
위 결과에서 두 해시 값이 동일하다는 것을 알 수 있습니다. 이것은 두 객체가 동일한 인스턴스임을 의미합니다.
2025-05-12 14:39