문자열에 바람직하지 않은 요소가 포함되어 있는지 확인하려고 할 때 프로그래머는 strpos()를 직접 사용할 때 예기치 않은 결과가 발생할 수 있습니다. 동등 비교.
이것을 고려해보세요 시나리오:
흥미롭게도 이 코드는 "Acceptable!"을 인쇄합니다. $link에 https가 있음에도 불구하고 $unacceptables의 각 요소에 대해. 이렇게 역설적으로 보이는 동작은 strpos() 자체의 특성에서 발생합니다.
공식 PHP 문서를 살펴보면 이 함수의 진정한 목적이 명확해집니다.
strpos()에서 바늘이 처음 나타나는 숫자 위치를 반환합니다. haystack 문자열입니다.
따라서 strpos()의 결과를 true와 직접 비교할 때 문자열의 존재 여부를 효과적으로 확인할 수 있습니다. $link의 바람직하지 않은 요소는 true와 동일하지 않습니다.
이 문제를 해결하려면 if 문에서 !== false를 활용하는 것이 더 적절한 접근 방식입니다.
다음을 수행합니다. 따라서 strpos()가 원하지 않는 요소의 존재를 감지했는지 정확하게 평가하여 원하는 결과를 얻었습니다.
위 내용은 `strpos()`를 `true`와 비교하면 PHP에서 문자열 발생을 감지하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!