문자열 비교와 검색은 가장 일반적인 작업입니다. 이전 기사 "PHP 문자열 학습: 두 문자열 비교"에서 문자열을 비교하는 방법을 소개했습니다. 다음 문서에서는 문자열 검색 작업을 안내하고 하위 문자열이 존재하는지 확인하는 방법을 소개합니다.
문자열 검색 작업을 수행할 때 특정 문자열에 지정된 하위 문자열(하위 문자열이라고 함)을 찾아서 해당 하위 문자열이 이 문자열에 존재하는지 확인해야 하는 경우가 있습니다.
우리는 일반적으로 PHP 내장 함수를 사용하여 문자열에서 이 하위 문자열이 처음 또는 마지막으로 나타나는 것을 찾아 판단합니다. 문자열 검색에는 두 가지 상황이 있습니다. 하나는 대소문자를 구분하지 않는 검색이고, 다른 하나는 대소문자를 구분하는 검색입니다. 이제 대소문자를 구분하지 않고 하위 문자열이 존재하는지 확인하는 방법을 살펴보겠습니다.
아래 밤을 살펴보겠습니다.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme); echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme); ?>
위 예시의 코드를 보시면, 결과가 어떻게 될 것 같나요? 첫 번째 발생은 "2"이고 마지막 발생은 "8"입니다. 맞나요? 출력을 살펴보겠습니다.
앗, 실제로는 "1"과 "7"입니다. 왜 이런가요? 그 이유는 문자열 위치가 1이 아닌 0부터 시작하기 때문입니다. 물론 시작 위치 1을 기준으로 계산하는 것은 잘못된 것입니다.
따라서 다음 코드를 사용하여 하위 문자열이 존재하는지 확인할 수 있습니다.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; if(stripos($string, $findme)!=FALSE){ echo "子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } if(strripos($string, $findme)!=FALSE){ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "<br>子串 “'$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
에서 검색을 시작할 문자를 지정하는 데 사용됩니다. 반환된 위치 숫자 값은 여전히 $string의 시작 위치. 그러나 strripos() 함수의 $start
매개변수는 음수 값을 허용하므로 문자열의 시작 부분부터 까지 검색이 시작됩니다. $ 시작
위치. <?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme,2);
echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme,-5);
?>
출력 결과:
위 내용은 하위 문자열이 존재하는지 확인하는 PHP 문자열 학습(대소문자 구분 안 함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!