
spl_object_hash 함수는 PHP에서 객체의 메모리 주소를 기반으로 해시 값을 생성합니다. 이 함수는 객체의 속성 값에 영향을 받지 않으며, 객체의 메모리 주소가 동일하면 동일한 해시 값을 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
$obj1 = new stdClass();
$obj1->name = 'John';
$obj2 = $obj1;
echo spl_object_hash($obj1) . "n"; // 해시 값 1
echo spl_object_hash($obj2) . "n"; // 해시 값 1
위 코드에서 $obj1과 $obj2는 동일한 객체를 참조하므로, spl_object_hash 함수는 동일한 해시 값을 반환합니다.
반면에, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
$obj1 = new stdClass();
$obj1->name = 'John';
$obj2 = new stdClass();
$obj2->name = 'John';
echo spl_object_hash($obj1) . "n"; // 해시 값 1
echo spl_object_hash($obj2) . "n"; // 해시 값 2
위 코드에서 $obj1과 $obj2는 서로 다른 객체이므로, spl_object_hash 함수는 서로 다른 해시 값을 반환합니다.
따라서, spl_object_hash 함수는 객체의 메모리 주소를 기반으로 해시 값을 생성합니다.
2025-05-05 14:48