strpos 함수
함수 strpos는 한 문자열에서 부분 문자열이 처음 나타나는 위치를 반환하거나,
부분 문자열을 찾지 못하면 false를 반환합니다.
첫 번째 매개변수로는 검색이 수행될 문자열을,
두 번째 매개변수로는 찾을 부분 문자열을 받습니다.
기본적으로 함수는 문자열의 시작부터 첫 번째 일치 항목까지 검색합니다. 세 번째 선택적 매개변수로 검색 시작 위치를 조절할 수 있습니다 - 지정된 경우 검색은 문자열의 시작이 아닌 지정된 위치부터 시작됩니다.
또한 stripos 함수가 있는데,
대소문자를 구분하지 않고 동일한 작업을 수행합니다.
문법
strpos(string $haystack, string $needle, int $offset = 0): int|false
예시
이 예시에서 함수는 첫 번째
문자 'c'의 위치를 반환합니다.
0부터 시작하기 때문에
2 위치를 차지합니다:
<?php
echo strpos('abcde abcde', 'c');
?>
코드 실행 결과:
2
예시
이 예시에서는 세 번째 매개변수가 지정되어
검색이 세 번째 위치부터 시작되므로,
이 경우 함수는 두 번째 문자
'c'를 찾아 그 위치인 8를 출력합니다:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
코드 실행 결과:
8
예시
부분 문자열을 찾지 못하면 함수는
false를 반환합니다. 문자열이
처음에 있으면 함수는 0를 반환합니다.
이는 짧은 조건식으로 비교할 때 문제가 될 수 있습니다:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
코드 실행 결과 (예상과 다름):
'---'
예시
문자열 시작 부분을 올바르게 확인해 보겠습니다:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
코드 실행 결과:
'+++'
함께 보기
-
부분 문자열이 마지막으로 나타나는 위치를 반환하는 함수
strrpos,
-
문자열에 문자가 포함되어 있는지 확인하는 함수
str_contains,
-
문자열 시작 부분을 확인하는 함수
str_starts_with,
-
문자열 끝 부분을 확인하는 함수
str_ends_with,
-
배열에서 검색을 수행하는 함수
array_search,