매일 PHP 개발에서는 종종 특정 문자 후 하위 문자열을 추출하거나 서브 스트링의 길이를 계산하는 것과 같은 문자열을 구문 분석해야합니다. 이 수요 시나리오에서 strchr () 및 strlen () 은 두 가지 매우 실용적인 기능입니다. 이 기사는 예제를 사용하여 strchr () 함수와 strlen ()을 사용하여 특정 문자 후 기판의 길이를 계산하는 방법을 설명합니다.
strchr () 은 문자열에서 문자의 첫 번째 발생을 찾는 PHP의 문자열 처리 함수이며 문자에서 문자열에서 문자열에서 시작하여 문자에서 문자열을 반환합니다. 기본 구문은 다음과 같습니다.
strchr(string $haystack, string $needle, bool $before_needle = false): string|false
$ haystack은 검색 할 원래 문자열입니다.
$ 바늘 은 당신이 찾고있는 문자 또는 줄입니다.
$ prever_needle 옵션 매개 변수는 true 로 설정되면 $ 니들 앞에서 부품을 반환하고 기본값은 False 입니다.
우리가 계산하려는 것은 특정 문자 후 기판의 길이입니다. strchr ()을 사용 하여이 문자로부터 시작하는 부분 문자열을 얻은 다음 strlen ()을 사용하여 원래 문자열의 길이와 strchr () 리턴 문자열을 각각 계산할 수 있습니다. 필요한 하위 문자 길이를 얻기 위해 빼기.
다음은 구체적인 예입니다. URL을 예로 들어 보겠습니다. 경로 문자열에서 '/' 문자 후 기판 길이를 계산하려고한다고 가정 해 봅시다 (예 : 경로에서 자원 이름의 길이를 얻는 것).
<?php
// 이것이 a라고 가정합니다URL길
$url = "https://gitbox.net/files/images/photo.jpg";
// 마지막을 찾으십시오 '/' 뒤에 서브 스트링의 길이
$lastSlashPos = strrpos($url, '/');
if ($lastSlashPos !== false) {
$substring = substr($url, $lastSlashPos + 1);
$length = strlen($substring);
echo "마지막 '/' 이후의 기판:$substring\n";
echo "서브 스트링의 길이는 다음과 같습니다:$length";
} else {
echo "찾을 수 없습니다 '/' 성격。";
}
?>
마지막 '/' 이후의 기판:photo.jpg
서브 스트링의 길이는 다음과 같습니다:9
첫 번째 '/' 이후의 하위 문자열에만 관심이있는 경우 strchr ()를 사용하여 구현할 수 있습니다.
<?php
$url = "https://gitbox.net/files/images/photo.jpg";
// 첫 번째 것을 찾으십시오 '/' 나타날 위치
$afterFirstSlash = strchr($url, '/');
if ($afterFirstSlash !== false) {
// 첫 번째를 제거하십시오 '/' 그 자체
$substring = substr($afterFirstSlash, 1);
$length = strlen($substring);
echo "첫 번째 '/' 이후의 기판:$substring\n";
echo "서브 스트링의 길이는 다음과 같습니다:$length";
} else {
echo "찾을 수 없습니다 '/' 성격。";
}
?>
이 메소드는 첫 번째 '/' 에서 시작하는 부분 문자열을 반환합니다.이 방법은 우리가 원하는 위치가 아닐 수 있습니다 (예 : 접두사 부분은 프로토콜 또는 도메인 이름입니다). 실제 애플리케이션에서는 특정 요구에 따라 (마지막 일치하는 캐릭터 이후에 부품을 반환) strchr () 또는 strrchr ()를 선택해야합니다.
strlen () 과 함께 strchr ()를 사용하는 것은 스트링과 하위 문자 길이의 특정 문자 위치를 처리하는 효율적인 방법입니다. 이 방법을 사용하여 경로, URL 또는 데이터를 분리 된 형식으로 처리 할 때 신속하게 구문 분석 할 수 있습니다.
위는 PHP의 strchr () 함수를 사용하여 strlen () 을 결합하여 특정 문자 후 기판 길이의 전체 인스턴스 분석을 계산하는 방법입니다. 실제 개발에 도움이되기를 바랍니다.