라이브러리
[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` 메서드는 객체의 해시 값을 반환합니다. 이 메서드는 객체를 해시 테이블에 사용할 때 사용됩니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.