PHP 프로그래밍에서 문자열 작동은 매우 일반적인 작업입니다. 특히 파일 경로, URL, 사용자 입력 및 기타 시나리오를 처리 할 때 문자열의 시작과 끝을 확인해야합니다. PHP는 두 가지 매우 유용한 기능을 제공합니다 : str_starts_with 및 str_ends_with 는 문자열이 특정 하위 문자열로 시작하는지 또는 종료되는지 신속하게 결정하는 데 도움이됩니다. 이 기사는 문자열의 시작과 끝을 효과적으로 확인하기 위해이 두 기능을 함께 사용하는 방법을 설명합니다.
str_starts_with 함수는 문자열이 지정된 하위 문자로 시작하는지 여부를 확인하는 데 사용됩니다. 이 기능의 기본 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ haystack : 확인할 대상 문자열.
$ 니들 : 비교에 사용되는 서브 스트링.
대상 문자열 $ haystack이 $ 니들 로 시작하면 함수는 true를 반환합니다. 그렇지 않으면, 거짓 .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"ex"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름 'ex' 시작。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름이 아닙니다 'ex' 시작。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
산출:
<span><span>파일 이름 </span><span><span class="hljs-string">'ex'</span></span><span> 시작。
</span></span>
str_ends_with 함수는 문자열이 지정된 서브 스트링으로 끝나는 지 확인하는 데 사용됩니다. 이 기능의 기본 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ haystack : 확인할 대상 문자열.
$ 니들 : 비교에 사용되는 서브 스트링.
대상 문자열 $ haystack이 $ 니들 로 끝나면 함수는 true를 반환합니다. 그렇지 않으면, 거짓 .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".txt"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름 '.txt' 종결。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름이 아닙니다 '.txt' 종결。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
산출:
<span><span>파일 이름 </span><span><span class="hljs-string">'.txt'</span></span><span> 종결。
</span></span>
실제 개발에서는 종종 문자열의 시작과 끝을 동시에 확인해야합니다. 예를 들어, 파일 이름이 특정 접두사로 시작하여 특정 접미사로 끝나는지 확인해야 할 수도 있습니다. 이를 달성하기 위해 str_starts_with 및 str_ends_with를 함께 사용할 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"img_picture.jpg"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"img_"</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".jpg"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름 'img_' 시작并且以 '.jpg' 종결。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 이름은 요구 사항을 충족하지 않습니다。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
산출:
<span><span>파일 이름 </span><span><span class="hljs-string">'img_'</span></span><span> 시작并且以 </span><span><span class="hljs-string">'.jpg'</span></span><span> 종결。
</span></span>
여러 문자열 검사를 수행 해야하는 경우 str_starts_with 및 str_ends_with를 사용하여 코드의 가독성과 효율성을 크게 향상시킬 수 있습니다. 그러나 여전히 주목해야 할 사항이 여전히 있습니다.
성능 문제 : 매우 긴 문자열을 다룰 때,이 두 기능의 시간 복잡성은 O (n)이지만, 특히 많은 수의 문자열을 자주 확인해야 할 때 성능 문제를 고려해야합니다. 배치 처리 또는 캐싱 메커니즘을 통해 중복 계산을 줄일 수 있습니다.
문자 인코딩 :이 두 기능은 UTF-8 인코딩 문자열에 적합합니다. 다른 인코딩 형식으로 문자열을 처리하는 경우 먼저 인코딩 변환을 수행하는 것이 좋습니다.
str_starts_with 및 str_ends_with 는 PHP의 기능은 문자열의 시작과 끝을 확인하기위한 매우 편리한 도구입니다. 많은 실제 시나리오 에서이 두 기능을 결합하여 코드의 가독성과 효율성을 향상시킬 수 있습니다. 파일 이름, URL 또는 시작과 끝과 일치하는 다른 문자열이든,이 두 기능의 사용을 마스터하면 목표를 더 빨리 달성하는 데 도움이됩니다.