4가지 방법: 1. "stripos($str,$find)" 구문으로 부분 문자열의 발생 위치를 찾기 위해 Stripos()를 사용합니다. 2. 부분 문자열의 발생 위치를 찾기 위해 strripos()를 사용합니다. "strripos($ str,$find)"; 3. strpos()를 사용하여 하위 문자열의 발생 위치를 찾습니다. 구문 "strpos($str,$find)" 4. strrpos()를 사용하여 발생 위치를 찾습니다. 하위 문자열의 구문은 "strrpos($ str,$find)"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
문자열 검색 작업을 수행할 때 때로는 특정 하위 문자열(하위 문자열이라고 함)을 찾아야 하는 경우가 있습니다. 특정 문자열.string) 이 문자열에 하위 문자열이 있는지 확인합니다.
우리는 일반적으로 PHP 내장 함수를 사용하여 문자열에서 이 하위 문자열이 처음으로 나타나는지 또는 마지막으로 나타나는지를 찾아 판단합니다. 문자열 검색에는 두 가지 상황이 있습니다. 하나는 대소문자를 구분하지 않는 검색이고, 다른 하나는 대소문자를 구분하는 검색입니다.
케이스 1: 하위 문자열이 존재하는지 확인(대소문자 구분 안 함)
대소문자를 구분하지 않고 하위 문자열이 존재하는지 감지하려면 Stripos() 및 strripos() 함수를 사용해야 합니다.
stripos() 및 strripos() 함수 모두 대소문자를 구분하지 않고 지정된 하위 문자열의 발생 위치를 확인할 수 있습니다. 반환 값이 FALSE이면 지정된 하위 문자열이 존재하지 않습니다.
따라서 다음 코드를 사용하여 하위 문자열이 존재하는지 확인할 수 있습니다.
<?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() 및 strripos() 함수
stripos($string,$ The find,$start)
함수는 다른 문자열에서 처음 나타나는 문자열을 찾을 수 있습니다(대소문자 구분 없음). stripos($string,$find,$start)
函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
strripos($string,$find,$start)
函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。
这两个函数的参数是相似的,都接受两个必需参数$string
和$find
,一个可省略参数$start
。
$string
参数:用于指定要被查找的字符串。
$find
参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。
$start
参数:用于指定从$string
中的哪个字符开始查找,返回的位置数字值仍然相对于 $string
的起始位置。
情况2:检测子串是不是存在(大小写敏感)
大小写敏感的检测子串是不是存在,需要使用strpos()和strrpos()函数。
strpos()和strrpos()函数可以大小写敏感的检查指定子串的出现位置,如果返回值为FALSE,则指定子串不存在。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme1 = "bC"; $findme2 = "bc"; $pos1 = strpos($string, $findme1); $pos2 = strrpos($string, $findme1); $pos3 = strpos($string, $findme2); $pos4 = strrpos($string, $findme2); if($pos1 !=FALSE){ echo "子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos2 !=FALSE){ echo "<br>子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos3 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } if($pos4 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } ?>
strpos()和strrpos()函数会区分大小写的在字符串$string
中查找子串$findme1
或者$findme2
。当完全匹配上,存在子串时,会返回子串在字符串的第一次或最后一次的出现位置;如果在字符串的没有找到子串,则返回FALSE
。
从上面的例子可以看出,只有子串"bc
"和字符串“ABCDCBAbcd
”是完全匹配,子串"bc
"被认为是存在于字符串“ABCDCBAbcd
”中的。因此输出结果为:
说明:strpos()和strrpos()函数
strpos($string,$find,$start)
函数可以返回子字符串首次出现的位置(区分大小写);
strrpos($string,$find,$start)
函数可以返回子字符串最后一次出现的位置(区分大小写);
strpos()和strrpos()函数相似,都接受两个必需参数$string
(被查找的字符串)和$find
(要查找的子串),一个可省略参数$start
strripos($string,$find,$start)
함수는 다른 문자열에서 마지막으로 나타나는 문자열을 찾을 수 있습니다(대소문자 구분 없음).
$string
및 $find
와 생략된 매개변수 $start
를 허용합니다. .
$string
매개변수: 찾을 문자열을 지정하는 데 사용됩니다.
$find
매개변수: 찾을 하위 문자열을 지정하는 데 사용되며 하나 이상의 문자를 포함할 수 있습니다. (문자열 타입이 아닌 경우 정수로 변환되어 문자순의 값으로 처리됩니다.) $start
매개변수: $string
에서 검색을 시작할 문자를 지정하는 데 사용됩니다. 반환된 위치 숫자 값은 여전히 $string의 시작 위치.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCabcabcABC"; $findme1 = "c"; $findme2 = "C"; echo "子串 '$findme1' 第一次出现的位置:".strpos($string, $findme1); echo "<br>子串 '$findme1' 最后一次出现的位置:".strrpos($string, $findme1); echo "<br>子串 '$findme2' 第一次出现的位置:".strpos($string, $findme2); echo "<br>子串 '$findme2' 最后一次出现的位置:".strrpos($string, $findme2); ?>🎜strpos() 및 strrpos() 함수는 문자열
$string
에서 하위 문자열 $findme1
또는 $를 대소문자를 구분하여 findme2. 정확히 일치하는 항목이 있고 하위 문자열이 존재하는 경우 문자열에서 해당 하위 문자열이 처음 또는 마지막으로 나타나는 경우가 반환됩니다. 하위 문자열이 문자열에서 발견되지 않으면 <code>FALSE
가 반환됩니다. 🎜🎜위의 예에서 볼 수 있듯이 하위 문자열 "bc
"와 문자열 "ABCDCBAbcd
"만 완전히 일치하고 하위 문자열 "bc" >"는 "<code>ABCDCBAbcd
" 문자열에 있는 것으로 간주됩니다. 따라서 출력 결과는 다음과 같습니다. 🎜🎜🎜🎜🎜설명: strpos() 및 strrpos() 함수🎜🎜strpos($string,$find,$start )
함수는 하위 문자열이 처음 나타나는 위치를 반환할 수 있습니다(대소문자 구분). 🎜strrpos($string,$find,$start)
함수는 하위 문자열의 마지막 발생 위치를 반환할 수 있습니다(대소문자 구분). 🎜$string(찾을 문자열) 및 <code>$find
(찾을 하위 문자열) 및 선택적 매개변수 $start
(검색 시작 위치). 🎜참고: 문자열 위치는 1이 아닌 0에서 시작합니다. 🎜🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜권장 학습: "🎜PHP 비디오 튜토리얼🎜"🎜위 내용은 PHP에 하위 문자열이 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!