라이브러리

[PHP] DsHashable::equals - 객체가 현재 인스턴스와 같은지 여부를 판별합니다.




PHP는 다양한 데이터 구조를 제공하며, `DsHashable`은 하나의 예입니다. `DsHashable`은 Hashable 인터페이스를 구현한 클래스로, 해시 테이블에 사용할 수 있는 객체를 나타냅니다.

DsHashable::equals 메서드


`DsHashable::equals` 메서드는 두 객체가 같은지 비교하는 메서드입니다. 이 메서드는 두 객체가 같은지 여부를 boolean 값으로 반환합니다.

예제


#hostingforum.kr
php

// DsHashable::equals 메서드 예제

class Person implements DsHashable {

    private $name;

    private $age;



    public function __construct($name, $age) {

        $this->name = $name;

        $this->age = $age;

    }



    public function getHash() {

        return crc32($this->name . $this->age);

    }



    public function equals($other) {

        if (!$other instanceof Person) {

            return false;

        }

        return $this->name === $other->name && $this->age === $other->age;

    }

}



// 객체 생성

$person1 = new Person('John', 30);

$person2 = new Person('John', 30);

$person3 = new Person('Jane', 25);



// equals 메서드 호출

echo var_export($person1->equals($person2), true) . "
"; // true

echo var_export($person1->equals($person3), true) . "
"; // false



설명


* `Person` 클래스는 `DsHashable` 인터페이스를 구현합니다.
* `getHash` 메서드는 객체의 해시 값을 반환합니다. 이 예제에서는 `crc32` 함수를 사용하여 해시 값을 계산합니다.
* `equals` 메서드는 두 객체가 같은지 비교합니다. 두 객체가 같은지 여부를 boolean 값으로 반환합니다.
* 예제에서는 `person1`과 `person2`는 같은 객체이므로 `equals` 메서드는 `true`를 반환합니다. `person1`과 `person3`는 다른 객체이므로 `equals` 메서드는 `false`를 반환합니다.

참고


* `DsHashable` 인터페이스는 PHP 7.4 이상에서 사용할 수 있습니다.
* `equals` 메서드는 두 객체가 같은지 비교하는 메서드입니다. 이 메서드는 두 객체가 같은지 여부를 boolean 값으로 반환합니다.
* `getHash` 메서드는 객체의 해시 값을 반환합니다. 이 메서드는 객체를 해시 테이블에 사용할 때 사용됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 604 페이지

검색

게시물 검색