Strings stripos
(PHP 5, PHP 7, PHP 8)
stripos — 문자열에서 대소문자를 구분하지 않는 하위 문자열이 처음 나타나는 위치 찾기
설명
stripos(string $haystack
, string $needle
, int $offset
= 0): int|false
haystack
문자열에서 needle
이 처음 나타나는 숫자 위치를 찾습니다.
strpos()와 달리 stripos()는 대소문자를 구분하지 않습니다.
매개변수
haystack
- 검색할 문자열입니다.
needle
needle
은 하나 이상의 문자로 구성된 문자열일 수 있습니다.PHP 8.0.0 이전에는
needle
이 문자열이 아닌 경우 정수로 변환되어 문자의 서수 값으로 적용되었습니다. 이 동작은 PHP 7.3.0부터 더 이상 사용되지 않으며 이에 의존하지 않는 것이 좋습니다. 의도한 동작에 따라needle
을 명시적으로 문자열로 캐스팅하거나 chr()에 대한 명시적 호출을 수행해야 합니다.offset
- 지정된 경우 검색은 문자열의 시작 부분부터 계산된 이 문자 수만큼 시작합니다. 오프셋이 음수이면 문자열 끝에서 계산된 이 문자 수만큼 검색이 시작됩니다.
반환 값
haystack
문자열의 시작 부분을 기준으로 needle이 존재하는 위치를 반환합니다(오프셋과 무관). 또한 문자열 위치는 1이 아니라 0에서 시작합니다.
needle이 발견되지 않으면 false
를 반환합니다.
경고 이 함수는 부울 false
을 반환할 수 있지만 false
으로 평가되는 부울이 아닌 값을 반환할 수도 있습니다. 자세한 내용은 Booleans 섹션을 참조하세요. 이 함수의 반환 값을 테스트하려면 the ===
operator를 사용하십시오.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | int를 needle 로 전달하는 것은 더 이상 지원되지 않습니다. |
7.3.0 | int를 needle 로 전달하는 것은 더 이상 사용되지 않습니다. |
7.1.0 | 음수 offset 에 대한 지원이 추가되었습니다. |
Examples
예제 #1 stripos() 예제
<?php
$findme = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';
$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);
// Nope, 'a' is certainly not in 'xyz'
if ($pos1 === false) {
echo "The string '$findme' was not found in the string '$mystring1'";
}
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' is the 0th (first) character.
if ($pos2 !== false) {
echo "We found '$findme' in '$mystring2' at position $pos2";
}
?>
메모
참고: 이 함수는 binary-safe입니다.
기타
- mb_stripos() - 대소문자를 구분하지 않고 다른 문자열 내에서 문자열이 처음 나타나는 위치를 찾습니다.
- str_contains() - 문자열에 주어진 부분 문자열이 포함되어 있는지 확인
- str_ends_with() - 문자열이 주어진 부분 문자열로 끝나는지 확인
- str_starts_with() - 문자열이 주어진 부분 문자열로 시작하는지 확인
- strpos() - 문자열에서 부분 문자열이 처음 나타나는 위치 찾기
- strrpos() - 문자열에서 하위 문자열이 마지막으로 나타나는 위치 찾기
- strripos() - 문자열에서 대소문자를 구분하지 않는 하위 문자열이 마지막으로 나타나는 위치 찾기
- stristr() - 대소문자를 구분하지 않는 strstr
- substr() - 문자열의 일부 반환
- str_ireplace() - 대소문자를 구분하지 않는 str_replace 버전