Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP mb_strrchr() 함수 – 문자열에서 마지막으로 나타나는 문자 찾기

PHP의 mb_strrchr() 함수는 주어진 문자열(haystack) 안에서 특정 문자열(needle)이 마지막으로 나타나는 위치를 찾아 그 이후의 문자열 부분을 반환하는 멀티바이트 문자열 함수입니다.

예를 들어, "PHP Tutorials"라는 문자열에서 "ia"를 검색한다고 가정해 보겠습니다. "ia"는 "Tutorials" 단어 안에 포함되어 있으며, mb_strrchr() 함수는 "ia"가 마지막으로 등장한 지점부터 끝까지의 문자열인 "ials"를 반환합니다. 만약 needle을 찾지 못하면 false를 반환합니다.

문법(Syntax)

string mb_strrchr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null)

매개변수(Parameters)

mb_strrchr() 함수는 다음 네 가지 매개변수를 받습니다.

  • $haystack − needle이 마지막으로 나타나는 위치를 검색할 대상 문자열입니다.

  • $needle − haystack 안에서 찾고자 하는 문자열입니다.

  • $before_needle − 반환할 문자열의 범위를 결정하는 선택적 매개변수입니다. true로 설정하면 문자열 시작부터 needle이 마지막으로 나타나는 지점 직전까지의 부분을 반환하고, false(기본값)로 설정하면 needle이 마지막으로 나타나는 지점부터 문자열 끝까지의 부분을 반환합니다.

  • $encoding − 문자열을 처리할 때 사용할 문자 인코딩을 지정하는 선택적 매개변수입니다. 생략하면 PHP 내부 인코딩(internal encoding)이 사용됩니다.

반환값(Return Value)

needle을 찾으면 해당하는 haystack의 부분 문자열을 반환하고, 찾지 못하면 false를 반환합니다.

예제 1 − before_needle이 false인 경우

$before_needle을 false로 설정하면 needle이 마지막으로 나타나는 지점부터 끝까지의 문자열이 반환됩니다.

<?php
   // "PHP Tutorials" 문자열에서 "ia" 검색
   // before_needle = false
   $string = mb_strrchr("PHP Tutorials", "ia", false);

   // 출력
   print_r($string);
?>

출력 결과

ials

예제 2 − before_needle이 true인 경우

$before_needle을 true로 설정하면 문자열 시작부터 needle이 마지막으로 나타나는 지점 직전까지의 문자열이 반환됩니다.

<?php
   // "PHP Tutorials" 문자열에서 "ia" 검색
   // before_needle = true
   $string = mb_strrchr("PHP Tutorials", "ia", true);

   // 출력
   print_r($string);
?>

출력 결과

PHP Tutor

예제 3 − 대소문자가 일치하지 않는 경우

<?php
   // "PHP Tutorials" 문자열에서 "Ia" 검색
   // needle이 대문자로 작성됨
   // mb_strrchr()은 대소문자를 구분하므로 아무것도 반환하지 않음
   $string = mb_strrchr("PHP Tutorials", "Ia", false);

   // 출력
   print_r($string);
?>

참고 − 위 예제에서 needle인 "Ia"는 대문자로 작성되었습니다. mb_strrchr() 함수는 대소문자를 구분(case-sensitive)하기 때문에 원본 문자열의 소문자 "ia"와 일치하지 않으므로 아무것도 반환하지 않습니다. 대소문자 구분 없이 검색하려면 문자열을 미리 같은 형태로 변환하거나 다른 방법을 사용해야 합니다.