2014-12-28 5 views

답변

5

docs에서 상기와 같은 이유로 :

bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ])

검색 건초 엄격한가 설정되어 있지 않으면 느슨해 비교하여 바늘대.

... 및 '' == 0true입니다. 종류가도 확인할 수 있도록 ...

in_array('', array(0, 1, 2), true); // false 

을하고, 문자열 ''는 숫자에 일치하는 기회가되지 않습니다 당신이 엄격한 비교를 사용하려면, 단지 세 PARAMS와 in_array()를 호출합니다.

+0

가치를 참조하십시오 http://php.net/manual/en/types.comparisons.php#types.comparisions-loose – haim770

2

in_array 기본적으로 느슨한 비교를 수행합니다. 따라서 ''0과 같습니다.

in_array 함수에 대해 세 번째 인수 (부울 값)가 ​​있습니다.이 함수는 STRICT 방식으로 일치가 수행되는지 여부를 나타냅니다.

in_array('', array(0,1,2), TRUE);이면 결과가 거짓입니다.

뿐만 아니라이 표를 포함하여 documentation

관련 문제