>  기사  >  백엔드 개발  >  PHP에서 변수 존재를 안정적으로 테스트하는 방법은 무엇입니까?

PHP에서 변수 존재를 안정적으로 테스트하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 14:03:45585검색

How to Reliably Test for Variable Existence in PHP?

PHP에서 변수 존재 테스트 방법 탐색

PHP는 변수의 존재를 확인하는 isset() 함수를 제공합니다. 그러나 문서에서 언급했듯이 설정되지 않은 변수와 NULL로 설정된 변수를 구별하지 못합니다.

제한이 있는 대체 접근 방식

이 제한을 극복하려는 한 가지 시도는 다음과 같습니다. :

<code class="php">if (isset($v) || @is_null($v)) {...}</code>

그러나 is_null()도 비슷한 문제에 직면해 설정되지 않은 변수에 대해 TRUE를 반환합니다. 또한 @($v === NULL)은 @is_null($v)과 동일하게 동작하므로 사용할 수 없게 됩니다.

신뢰할 수 있는 솔루션: array_key_exists()

의 경우 변수 존재를 확인하는 신뢰할 수 있는 방법인 array_key_exists()를 고려해보세요. 전역 변수에 적용하면 존재하지 않는 변수와 NULL로 설정된 변수를 효과적으로 구분합니다.

구별 예시

다음 예를 고려하세요.

<code class="php">$a = NULL;
var_dump(array_key_exists('a', $GLOBALS)); // TRUE
var_dump(array_key_exists('b', $GLOBALS)); // FALSE</code>

출력은 array_key_exists()가 NULL로 설정되어 있어도 $a의 존재를 정확하게 식별함을 보여줍니다.

결론

isset() 및 is_null()은 변수 존재 테스트를 부분적으로 지원하고, array_key_exists()는 보다 정확하고 포괄적인 솔루션을 제공합니다. 이 방법은 전역 및 로컬 범위 모두에서 설정되지 않은 변수와 NULL로 설정된 변수를 올바르게 구별합니다.

위 내용은 PHP에서 변수 존재를 안정적으로 테스트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.