>  기사  >  백엔드 개발  >  PHP in_array 함수로 인한 몇 가지 생각

PHP in_array 함수로 인한 몇 가지 생각

高洛峰
高洛峰원래의
2016-11-29 11:47:33957검색

오늘 문득 PHP의 in_array 함수의 사용법이 이상하다는 생각이 들었습니다. 이 사용법을 살펴보겠습니다. 필요한 친구들은 간단히 참고할 수 있습니다.

$a= array(" 1,2,3","4");

if(in_array(1,$a)){

echo "조건이 true입니다." ;

}

이 조건은 내 생각 논리에 따르면 매개변수 1의 값이 "1, 2, 3"이고 합이 다음과 같은 경우에만 true입니다. 4인데 이상한 점은 바로 Battlefield에서 다음과 같은 상황을 테스트한 것입니다.

$a=array("a,2,3"," 4");

if(in_array('a',$a)){

echo "조건이 참이 아닙니다.";

}

첫 번째 테스트 사례에서 매개변수 1을 '1'로 쓰면 조건도 참이 아니라는 결론이 나옵니다. :

PHP에서 첫 번째 매개변수가 Numbers - 따옴표 없는 숫자인 경우 두 번째 배열 매개변수에 숫자로 시작하는 문자열이 포함되어 있으면 첫 번째 매개변수가 숫자의 완전한 요소인지 여부에 관계없이 참 값을 반환합니다. 즉, in_array 함수가 매번 내 생각 논리에 따라 전체 요소와 일치하지 않거나 데이터 유형을 충분히 명확하게 이해하지 못하는 것입니까?

동시에 배열의 첫 번째 요소가 0이면 문제도 발생한다는 것을 발견했습니다. 다음 상황을 참조하세요. 코드는 다음과 같습니다.

$a= 배열(0 ,"m");

if(in_array('mc6',$a))

{

echo "====="; 🎜>

}//오픈 소스 코드 phpfensi.com


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