
exists 메소드는 null 키가 존재하는 경우 false를 반환하는 것이 정상입니다. 이는 해시 테이블이 null 키를 저장하지 않기 때문입니다.
해시 테이블은 키가 중복되지 않도록 설계되어 있습니다. 따라서 null 키가 이미 존재하는 경우, 새로운 null 키를 추가할 수 없습니다.
따라서 exists 메소드는 null 키가 존재하는 경우 false를 반환하는 것이 논리적이고 올바른 동작입니다.
만약 null 키가 존재하는 경우 true를 반환하고 싶다면, 키가 null 인지 아닌지를 별도로 확인하는 로직을 추가해야 합니다.
예를 들어, 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
if ($hash->exists($key) === false && $key === null) {
return true;
} else {
return $hash->exists($key);
}
2025-07-13 22:46