개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.12 14:38

spl_object_hash 함수에 대한 설명과 예제를 구해주세요

목록
  • 취약점헌터 19일 전 2025.05.12 14:38 인기
  • 198
    1
저는 PHP의 spl_object_hash 함수를 사용하여 객체를 구분하기 위해 사용하는 방법을 배우고 싶습니다.

이 함수는 PHP에서 객체의 고유한 해시 값을 반환합니다. 예를 들어, 다음 코드를 통해 어떻게 사용하는지 알려주세요.

php

$object1 = new stdClass();

$object1->name = 'john';



$object2 = new stdClass();

$object2->name = 'john';



echo spl_object_hash($object1) . "n";

echo spl_object_hash($object2) . "n";



위 코드에서 반환되는 해시 값이 어떻게 달라지는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  19일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,076건 / 289 페이지

검색

게시물 검색