PHP에서 특정 문자열이 지정한 단어나 문자로 시작하는지 확인하는 함수를 직접 만드는 방법을 알아보겠습니다. 함수는 조건이 일치하면 TRUE, 일치하지 않으면 FALSE를 반환하도록 작성합니다.
함수 문법
begnWith(str, begnStr)
각 매개변수의 의미는 다음과 같습니다.
str — 검사 대상이 되는 원본 문자열
begnStr — 문자열 시작 부분에서 찾고자 하는 텍스트
예제 코드
다음은 strlen()과 substr()을 활용하여 구현한 예제입니다.
<?php
function begnWith($str, $begnString) {
$len = strlen($begnString);
return (substr($str, 0, $len) === $begnString);
}
if(begnWith("pqrstuvwxyz", "p"))
echo "True! It begins with p!";
else
echo "False! It isn't beginning with p!";
?>
출력 결과
True! It begins with p!
동작 원리
먼저 strlen()으로 검사할 텍스트의 길이를 구한 후, substr()을 이용해 원본 문자열의 앞부분을 같은 길이만큼 잘라냅니다. 그리고 잘라낸 결과와 검사 텍스트가 완전히 일치하는지 삼중 등호(===)로 비교합니다. === 연산자는 값뿐 아니라 자료형까지 엄격하게 비교하기 때문에 예상치 못한 형 변환 오류 없이 안전하게 판별할 수 있습니다.
PHP 8 이상이라면 str_starts_with() 활용
PHP 8부터는 내장 함수인 str_starts_with()를 제공하므로, 별도의 함수를 만들지 않고도 더욱 간결하게 처리할 수 있습니다.
<?php
if (str_starts_with("pqrstuvwxyz", "p")) {
echo "True! It begins with p!";
} else {
echo "False! It isn't beginning with p!";
}
?>
직접 구현한 begnWith() 함수와 실행 결과가 동일하며, 코드 가독성과 유지보수 측면에서 내장 함수를 사용하는 것이 권장됩니다.