php 최 적 실천-값 이 null 또는 false 인지 검사
4765 단어 PHP
PHP 의 느슨 한 유형 시스템 은 변수의 값 을 측정 하 는 다양한 방법 을 제공 합 니 다.그러나 이것 도 많은 문 제 를 일 으 켰 다.
==
을 사용 하여 값 이 null 이나 false 인지 확인 합 니 다.이 값 이 실제 빈 문자열 이나 0 이면 false 로 오보 할 수 있 습 니 다.isset 은 이 값 이 null 이나 false 인지 아 닌 변수 가 있 는 지 를 검사 하 는 것 이 므 로 여기 서 사용 하 는 것 은 적절 하지 않 습 니 다.is_null()함 수 는 하나의 값 이 null 인지,is 인지 정확하게 검사 할 수 있 습 니 다.bool 은 불 값(예 를 들 어 false)인지 확인 할 수 있 지만 더 좋 은 선택 이 있 습 니 다.
===
연산 자===
두 값 이 동일 한 지 확인 하 는 것 은 PHP 완화 형 세계 와 같 지 않 습 니 다.그것 도 isnull()과 isbool()이 빠 르 고 함수 로 하 는 것 보다 더 깨끗 하 다 고 생각 하 는 사람 도 있다.예시
<?php
$x = 0;
$y = null;
// Is $x null?
if($x == null)
print('Oops! $x is 0, not null!');
// Is $y null?
if(is_null($y))
print('Great, but could be faster.');
if($y === null)
print('Perfect!');
// Does the string abc contain the character a?
if(strpos('abc', 'a'))
// GOTCHA! strpos returns 0, indicating it wishes to return the position of the first character.
// But PHP interpretes 0 as false, so we never reach this print statement!
print('Found it!');
//Solution: use !== (the opposite of ===) to see if strpos() returns 0, or boolean false.
if(strpos('abc', 'a') !== false)
print('Found it for real this time!');
?>
함정.
0 또는 불 false 함수 의 반환 값 을 테스트 할 때,예 를 들 어 strpos()는 항상
===
과!==
를 사용 합 니 다.그렇지 않 으 면 문제 가 발생 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.