Strings strrpos
(PHP 4, PHP 5, PHP 7, PHP 8)
strrpos — 문자열에서 하위 문자열이 마지막으로 나타나는 위치 찾기
설명
strrpos(string $haystack
, string $needle
, int $offset
= 0): int|false
haystack
문자열에서 needle
이 마지막으로 나타나는 숫자 위치를 찾습니다.
매개변수
haystack
- 검색할 문자열입니다.
needle
- PHP 8.0.0 이전에는
needle
이 문자열이 아닌 경우 정수로 변환되어 문자의 서수 값으로 적용되었습니다. 이 동작은 PHP 7.3.0부터 더 이상 사용되지 않으며 이에 의존하지 않는 것이 좋습니다. 의도한 동작에 따라needle
을 명시적으로 문자열로 캐스팅하거나 chr()에 대한 명시적 호출을 수행해야 합니다. offset
- 0 또는 양수이면
haystack
의 첫 번째offset
바이트를 건너뛰고 왼쪽에서 오른쪽으로 검색이 수행됩니다.음수이면
haystack
의 마지막offset
바이트를 건너뛰고 처음으로 발생한needle
을 검색하는 검색이 오른쪽에서 왼쪽으로 수행됩니다.메모: 이것은 마지막
offset
바이트 전에needle
의 마지막 발생을 효과적으로 찾고 있습니다.
반환 값
haystack
문자열의 시작 부분을 기준으로 needle이 존재하는 위치를 반환합니다(검색 방향 또는 오프셋과 무관).
참고: 문자열 위치는 1이 아닌 0에서 시작합니다.
needle이 발견되지 않으면 false
를 반환합니다.
경고 이 함수는 부울 false
을 반환할 수 있지만 false
으로 평가되는 부울이 아닌 값을 반환할 수도 있습니다. 자세한 내용은 부울 섹션을 참조하세요. 이 함수의 반환 값을 테스트하려면 === 연산자를 사용하십시오.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | int를 needle 로 전달하는 것은 더 이상 지원되지 않습니다. |
7.3.0 | int를 needle 로 전달하는 것은 더 이상 사용되지 않습니다. |
Examples
예제 #1 needle이 haystack에 있는지 확인
반환 값을 "0 위치에 있는 문자" 및 "문자를 찾을 수 없음"으로 착각하기 쉽습니다. 차이를 감지하는 방법은 다음과 같습니다.
<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // note: three equal signs
// not found...
}
?>
예제 #2 오프셋으로 검색
<?php
$foo = "0123456789a123456789b123456789c";
// Looking for '0' from the 0th byte (from the beginning)
var_dump(strrpos($foo, '0', 0));
// Looking for '0' from the 1st byte (after byte "0")
var_dump(strrpos($foo, '0', 1));
// Looking for '7' from the 21th byte (after byte 20)
var_dump(strrpos($foo, '7', 20));
// Looking for '7' from the 29th byte (after byte 28)
var_dump(strrpos($foo, '7', 28));
// Looking for '7' right to left from the 5th byte from the end
var_dump(strrpos($foo, '7', -5));
// Looking for 'c' right to left from the 2nd byte from the end
var_dump(strrpos($foo, 'c', -2));
// Looking for '9c' right to left from the 2nd byte from the end
var_dump(strrpos($foo, '9c', -2));
?>
위의 예는 다음을 출력합니다.
int(0) bool(false) int(27) bool(false) int(17) bool(false) int(29)
기타
- strpos() - 문자열에서 부분 문자열이 처음 나타나는 위치 찾기
- stripos() - 문자열에서 대소문자를 구분하지 않는 하위 문자열이 처음 나타나는 위치 찾기
- strripos() - 문자열에서 대소문자를 구분하지 않는 하위 문자열이 마지막으로 나타나는 위치 찾기
- strrchr() - 문자열에서 마지막 문자 찾기
- substr() - 문자열의 일부 반환