Strings strpos
(PHP 4, PHP 5, PHP 7, PHP 8)
strpos — 문자열에서 부분 문자열이 처음 나타나는 위치 찾기
설명
strpos(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
- 지정된 경우 검색은 문자열의 시작 부분부터 계산된 이 문자 수만큼 시작합니다. 오프셋이 음수이면 문자열 끝에서 계산된 이 문자 수만큼 검색이 시작됩니다.
반환 값
haystack
문자열의 시작 부분을 기준으로 needle
이 존재하는 위치를 반환합니다(오프셋과 무관). 또한 문자열 위치는 1이 아니라 0에서 시작합니다.
needle
이 발견되지 않으면 false
를 반환합니다.
경고 이 함수는 부울 false
을 반환할 수 있지만 false
으로 평가되는 부울이 아닌 값을 반환할 수도 있습니다. 자세한 내용은 부울 섹션을 참조하세요. 이 함수의 반환 값을 테스트하려면 === 연산자를 사용하십시오.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | int를 needle 로 전달하는 것은 더 이상 지원되지 않습니다. |
7.3.0 | int를 needle 로 전달하는 것은 더 이상 사용되지 않습니다. |
7.1.0 | 음수 offset 에 대한 지원이 추가되었습니다. |
Examples
예제 #1 === 사용
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
?>
예제 #2 !== 사용
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// The !== operator can also be used. Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates
// to false.
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
예제 #3 오프셋 사용
<?php
// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
메모
참고: 이 함수는 binary-safe입니다.
기타
- stripos() - 문자열에서 대소문자를 구분하지 않는 하위 문자열이 처음 나타나는 위치 찾기
- str_contains() - 문자열에 주어진 부분 문자열이 포함되어 있는지 확인
- str_ends_with() - 문자열이 주어진 부분 문자열로 끝나는지 확인
- str_starts_with() - 문자열이 주어진 부분 문자열로 시작하는지 확인
- strrpos() - 문자열에서 하위 문자열이 마지막으로 나타나는 위치 찾기
- strripos() - 문자열에서 대소문자를 구분하지 않는 하위 문자열이 마지막으로 나타나는 위치 찾기
- strstr() - 문자열의 첫 번째 항목 찾기
- strpbrk() - 임의의 문자 집합에 대한 문자열 검색
- substr() - 문자열의 일부 반환
- preg_match() - 정규식 일치 수행