PHP에서 문자열 조작은 일상 개발에서 매우 중요한 부분입니다. 두 가지 함수 strrpos 와 strlen은 종종 문자열의 서브 스트링 위치 및 길이와 관련된 계산을 처리하는 데 사용됩니다. 이 기사는이 두 기능을 사용하여 기판의 위치 차이를 계산하고 실제 응용 프로그램 시나리오를 기반으로 분석하는 방법을 자세히 소개합니다.
strrpos (String $ haystack, String $ 니들, int $ offset = 0) : int | false
이 함수는 $ beless가 String $ haystack 에 마지막으로 나타나는 시간을 찾는 데 사용되며 위치의 색인을 반환합니다 (0부터 시작). 찾을 수없는 경우 거짓이 반환됩니다.
strlen (String $ string) : int
String $ String 의 길이를 반환합니다.
이 두 기능은 스트링에서 특정 하위 문자열의 위치 관계를 쉽게 계산하기 위해 조합하여 사용될 수 있습니다.
문자열 $ 텍스트가 있다고 가정하고 문자열 끝에서 Substring $ 하위 의 마지막 발생 사이의 간격을 계산하려고합니다.
<?php
$text = "https://gitbox.net/path/to/resource.html";
$sub = "/";
// 서브 스트링의 마지막 발생을 얻으십시오
$pos = strrpos($text, $sub);
if ($pos !== false) {
// 문자열의 총 길이를 얻으십시오
$length = strlen($text);
// 서브 문자열의 마지막 발생 위치에서 문자열 끝까지의 거리를 계산합니다.
$distance = $length - $pos - 1;
echo "서브 스트링 '{$sub}' 위치에 마지막으로 나타났습니다 {$pos}。\n";
echo "문자열 끝에서 여전히 거리가 있습니다. {$distance} 캐릭터。\n";
} else {
echo "서브 스트링 '{$sub}' 찾을 수 없습니다。\n";
}
?>
strrpos를 사용하여 경로의 마지막 슬래시와 같은 마지막 하위 문자열 / 위치를 얻으십시오.
strlen을 사용하여 전체 문자열 길이를 얻으십시오.
문자열의 끝에서 문자 수는 위치가 0에서 시작되기 때문에 위치와 하위 문자의 위치를 빼서 얻습니다.
결과는 문자열과 문자열 끝의 차이입니다.
URL 또는 경로를 처리 할 때 종종 마지막 슬래시 후 파일 이름을 가로 채어야합니다.
<?php
$url = "https://gitbox.net/path/to/resource.html";
$lastSlashPos = strrpos($url, "/");
$filename = substr($url, $lastSlashPos + 1);
echo "파일 이름은입니다:{$filename}";
?>
경로가 특정 기호로 끝나는 지 여부를 결정하고 차이에 따라 스 플라이 싱 방법을 조정하십시오.
<?php
$path = "https://gitbox.net/path/to/";
$lastChar = substr($path, -1);
if ($lastChar !== "/") {
$path .= "/";
}
$fullPath = $path . "resource.html";
echo $fullPath;
?>
STRRRPOS 와 Strlen 의 조합은 특히 경로 구문 분석, URL 프로세싱 등의 강력하고 유연한 문자열 처리 기능을 제공하여 하위 문자의 위치 차이를 쉽게 계산하여보다 복잡한 문자열 작동 요구 사항을 달성 할 수 있습니다.
이 두 기능의 사용을 마스터하면 PHP 문자열 처리 효율 및 코드 품질이 크게 향상됩니다.