문자열 비교와 검색은 가장 일반적인 작업입니다. 이전 기사 "PHP 문자열 학습: 두 문자열 비교"에서 문자열을 비교하는 방법을 소개했습니다. 다음 문서에서는 문자열 검색 작업을 안내하고 하위 문자열이 존재하는지 확인하는 방법을 소개합니다.
문자열 검색 작업을 수행할 때 특정 문자열에 지정된 하위 문자열(하위 문자열이라고 함)을 찾아서 해당 하위 문자열이 이 문자열에 존재하는지 확인해야 하는 경우가 있습니다.
우리는 일반적으로 PHP 내장 함수를 사용하여 문자열에서 이 하위 문자열이 처음 또는 마지막으로 나타나는 것을 찾아 판단합니다. 문자열 검색에는 두 가지 상황이 있습니다. 하나는 대소문자를 구분하지 않는 검색이고, 다른 하나는 대소문자를 구분하는 검색입니다. 이제 대소문자를 구분하지 않고 하위 문자열이 존재하는지 확인하는 방법을 살펴보겠습니다.
아래 밤을 살펴보겠습니다.
子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme); ?>
위 예시의 코드를 보시면, 결과가 어떻게 될 것 같나요? 첫 번째 발생은 "2"이고 마지막 발생은 "8"입니다. 맞나요? 출력을 살펴보겠습니다.
앗, 실제로는 "1"과 "7"입니다. 왜 이런가요? 그 이유는문자열 위치가 1이 아닌 0부터 시작하기 때문입니다. 물론 시작 위치 1을 기준으로 계산하는 것은 잘못된 것입니다.
따라서 다음 코드를 사용하여 하위 문자열이 존재하는지 확인할 수 있습니다.
子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "
子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } ?>
출력 결과:
이 두 함수를 자세히 살펴보겠습니다.
stripos($string,$find,$start)
함수는 다른 문자열에서 처음 나타나는 문자열을 찾을 수 있습니다(대소문자를 구분하지 않음).stripos($string,$find,$start)
函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
strripos($string,$find,$start)
函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。
这两个函数的参数是相似的,都接受两个必需参数$string
和$find
,一个可省略参数$start
。
$string
参数:用于指定要被查找的字符串。
$find
参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。
$start
参数:用于指定从$string
中的哪个字符开始查找,返回的位置数字值仍然相对于$string
的起始位置。
但strripos()函数的$start
参数允许使用负值,此时将使得查找从字符串的起始位置开始,到$start
strripos($string,$find,$start)
함수는 다른 문자열에서 마지막으로 나타나는 문자열을 찾을 수 있습니다(대소문자를 구분하지 않음).
이 두 함수의 매개변수는 유사합니다. 두 가지 필수 매개변수
$string
및
$find
와 생략된 매개변수
$start
를 허용합니다. .
$string
매개변수: 찾을 문자열을 지정하는 데 사용됩니다.$find
매개변수: 찾을 하위 문자열을 지정하는 데 사용되며 하나 이상의 문자를 포함할 수 있습니다. (문자열 타입이 아닌 경우 정수로 변환되어 문자순의 값으로 처리됩니다.)
$start
매개변수:$string
에서 검색을 시작할 문자를 지정하는 데 사용됩니다. 반환된 위치 숫자 값은 여전히
<에 상대적입니다. code>
$string의 시작 위치.
에>그러나 strripos() 함수의$start
매개변수는 음수 값을 허용하므로 문자열의 시작 부분부터까지 검색이 시작됩니다. $ 시작
위치.
위 내용은 하위 문자열이 존재하는지 확인하는 PHP 문자열 학습(대소문자 구분 안 함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!