strpos()의 반환 값 특성 이해
strpos()를 사용하여 주어진 문자열 내에서 하위 문자열을 찾을 때 다음 사항을 고려하는 것이 중요합니다. 반환 값의 의미. 그렇지 않으면 예상치 못한 결과가 발생할 수 있습니다.
문제:
두 하위 문자열의 시작 위치를 식별하고 첫 번째가 두 번째보다 앞에 있는지 확인하려는 시도 , 프로그래머는 예상치 못한 동작을 경험합니다. 코드는 느슨한 동등 비교 연산자(<>)를 사용하여 대상 문자열에 각 하위 문자열이 있는지 확인합니다. strpos()의 반환 값이 false인 경우 하위 문자열을 찾을 수 없음을 의미합니다. 그러나 하위 문자열이 0 위치에서 시작하면 strpos()가 0을 반환하는 것으로 나타나며 이는 false로 잘못 해석됩니다.
해결 방법:
PHP 설명서가 명시적으로 나와 있습니다. strpos()는 부울 FALSE 또는 FALSE로 평가되는 부울이 아닌 값(예: 0)을 반환할 수 있다고 명시합니다. 이러한 혼란을 피하기 위해 PHP에서는 strpos()의 반환 값을 테스트할 때 === 연산자(엄격한 같음)를 사용할 것을 권장합니다.
제공된 예에서 프로그래머는 느슨한 같음 연산자(<>)를 대체해야 합니다. ;) strpos() 검사에서 완전 항등 연산자(!==)를 사용합니다. 이렇게 하면 비교가 예상대로 작동하여 대상 문자열에 하위 문자열이 있는지 여부를 올바르게 식별할 수 있습니다.
위 내용은 `strpos()`가 0을 반환하는 이유는 무엇이며, 하위 문자열 존재를 확실하게 확인할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!