또한 두 값이 일치하는지 비교하기 위해 구조를 제어할 때 == 대신 ===를 사용하도록 노력해야 합니다(물론 이 역시 특정 비즈니스에 따라 선택해야 합니다). 논리).
왜
var_dump(in_array(0, array('s' ));
이 문장의 결과는 bool(true)인지 설명하겠습니다.
왜냐면 in_array는 0과 's'를 비교합니다. 0은 숫자 유형이고 's'는 문자열 유형입니다. PHP 매뉴얼의 "비교 연산자" 장의 지침에 따라 숫자와 문자열을 비교할 때
, 문자열 유형을 숫자로 먼저 변환한 후 비교 연산을 수행합니다. 's'를 숫자로 변환한 결과는 0이고, 0 == 0의 결과는 true이므로 in_array(0, array('s', ' The result of ss')) 도 true
in_array의 세 번째 매개변수 strict가 true로 설정되면 비교 시 값과 타입이 동일한지 판단하고, 그렇지 않으면 false를 반환합니다.
PHP IN_ARRAY 함수 사용 시 주의 사항에 대한 자세한 내용을 확인하세요. PHP 중국어 웹사이트로