PHP의 strpos() 함수는 문자열에서 특정 문자나 부분 문자열의 첫 번째 발생 위치를 찾는 데 사용됩니다.
이 함수는 대상 문자열과 찾고자 하는 문자열을 인자로 받고, 발견된 위치의 인덱스를 반환합니다. 만약 찾고자 하는 문자열이 발견되지 않으면 'false'를 반환합니다.
strpos() 함수 정의
strpos(string $str, mixed $search, int $seq = 0): int|false
매개변수
$str : 검색을 수행할 대상 문자열입니다. 필수 매개변수이며 유효한 문자열이어야 합니다.
$search : 찾고자 하는 문자열 또는 문자입니다. 필수 매개변수이며 문자열 또는 문자 형태로 지정할 수 있습니다.
$seq (선택사항) : 검색을 시작할 위치입니다. 이 매개변수를 지정하지 않으면 검색은 대상 문자열의 처음부터 시작합니다. 기본값은 0입니다.
결과 값
strpos() 함수는 발견된 문자열 또는 문자의 첫 번째 발생 위치를 나타내는 정수 값을 반환합니다. 위치는 0부터 시작하며, 찾고자 하는 문자열이나 문자가 발견되지 않은 경우 'false'를 반환합니다.
찾고자 하는 문자열이 여러 번 발생하는 경우 strpos() 함수는 첫 번째 발생 위치만을 반환하므로 유의해야 합니다.
더 많은 발생 위치를 찾고 싶은 경우, strpos() 함수를 여러 번 호출하거나 stripos() 함수를 사용할 수 있습니다.
stripos() 함수는 대소문자를 구분하지 않고 찾고자 하는 문자열을 검색합니다.
예제1 : 기본
$string = "Hello, world!";
$position = strpos($string, "world");
echo "문자열의 위치는: " . $position;
문자열의 위치는: 7
strpos() 함수를 사용하여 문자열 "Hello, world!"에서 "world"를 검색합니다. "world"의 첫 번째 발생 위치는 7이므로 결과값은 7이 출력됩니다.
예제2 : 대/소문자 구분 여부
$string = "Hello, world!";
$position = stripos($string, "WORLD");
echo "문자열의 위치는: " . $position;
문자열의 위치는: 7
stripos() 함수를 사용하여 대소문자를 구분하지 않고 문자열 "Hello, world!"에서 "WORLD"를 검색합니다. "WORLD"는 대소문자를 구분하지 않으므로 "world"와 일치하며, 첫 번째 발생 위치는 7이므로 결과값 7이 출력됩니다.
예제3 : 검색 시작 위치 지정
$string = "Hello, world!";
$position = strpos($string, "o", 5);
echo "문자열의 위치는: " . $position;
문자열의 위치는: 8
문자열 "Hello, world!"에서 "o"를 검색합니다. 검색은 인덱스 5부터 시작하며, "o"의 첫 번째 발생 위치는 8이므로 결과 값 8이 출력됩니다.
예제4 : 검색 대상 문자열이 발견되지 않는 경우
$string = "Hello, world!";
$position = strpos($string, "foo");
if ($position === false) {
echo "문자열이 발견되지 않았습니다.";
}
문자열이 발견되지 않았습니다.
strpos() 함수를 사용하여 문자열 "Hello, world!"에서 "foo"를 검색합니다. "foo"는 문자열 내에서 발견되지 않으므로 false가 반환됩니다. 이 경우, if 조건문을 사용하여 문자열이 발견되지 않았을 때의 동작을 수행할 수 있습니다.
예제5 : 특수 문자의 위치 찾기
$string = "Hello, world!";
$position = strpos($string, ",");
echo "쉼표의 위치는: " . $position;
쉼표의 위치는: 5
strpos() 함수를 사용하여 문자열 "Hello, world!"에서 쉼표(",")의 위치를 찾습니다. 쉼표의 첫 번째 발생 위치는 5이므로 결과 값 5가 출력됩니다.
'IT > PHP' 카테고리의 다른 글
PHP str_replace() 함수 (0) | 2023.06.26 |
---|---|
PHP strtolower(), strtoupper() 함수 (0) | 2023.06.25 |
PHP substr() 함수 (0) | 2023.06.22 |
php strlen() 함수 (0) | 2023.06.16 |