대답은 다음과 같습니다. 이것은 strpos ()가 문자열을 비교할 때 문자의 경우 차이와 엄격하게 일치 함을 의미합니다.
간단한 예를 살펴 보겠습니다.
<code> $ Haystack = "Hello World!"; $ 니들 = "세계";$ position = strpos ($ haystack, $ 니들);
if ($ position === false) {
에코 "끈이 없음";
} 또 다른 {
에코 "문자열 위치는 :". $ 위치;
}
</코드>
출력 결과는 "문자열이 없습니다"입니다. 왜? 바늘 의 "세계" 는 소문자이고 건초 더미의 "세계"는 대문자이기 때문입니다. 사례에 민감한 비교에서, 두 줄은 동일하게 간주되지 않습니다.
사례에 민감한 검색을하려면 PHP는 다른 기능을 제공합니다 : Stripos () . strpos () 와 동일하게 작동하지만 대소 문자를 사용합니다.
예:
<code> $ Haystack = "Hello World!"; $ 니들 = "세계";$ position = stripos ($ haystack, $ 니들);
if ($ position === false) {
에코 "끈이 없음";
} 또 다른 {
에코 "문자열 위치는 :". $ 위치;
}
</코드>
이번에는 출력이 다음과 같습니다.
문자열 위치는입니다: 6
이것은 "세계" (상류 및 소문자에 관계없이)이 문자열의 6 번째 문자 (0에서 카운트)에서 시작한다는 것을 의미합니다.
URL에 도메인 이름 gitbox.net 이 포함되어 있는지 확인하십시오. Stripos ()를 사용하여 일부 사용자가 전체 또는 혼합 케이스를 사용할 수 있으므로 사례에 민감한 일치를 달성 할 수 있습니다.
<code> $ url = "https://www.gitbox.net/page/123"; if (stripos ($ url, "gitbox.net")! == false) {
echo "url은 gitbox.net을 포함합니다";
} 또 다른 {
Echo "URL은 gitbox.net이 포함되어 있지 않습니다";
}
</코드>
gitbox.net 이 완전히 자본화 되더라도 프로그램은 여전히 올바르게 인식됩니다.