또한 두 값이 일치하는지 비교하기 위해 구조를 제어할 때 == 대신 ===를 사용하도록 노력해야 합니다(물론 특정 비즈니스 로직에 따라 이 방법이 더 적합합니다).
이유를 설명하겠습니다
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', 'ss'))의 결과는 다음과 같습니다. is also true
in_array의 세 번째 매개변수 strict가 true로 설정된 경우 비교 시 값과 유형이 동일한지 판단하여 동일하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
참고사항입니다.
위 내용은 arrayadapter의 내용을 포함하여 arrayadapter PHP IN_ARRAY 함수 사용 시 주의사항을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.