이전 글에서는 하위 문자열이 존재하는지 감지하는 방법을 소개했습니다. 관심이 있으시면 링크를 클릭하여 → "PHP 문자열 학습: 하위 문자열 존재 여부 확인(대소문자 구분 안 함)"을 확인하실 수 있습니다. 이번에는 하위 문자열이 존재하는지 확인하는 또 다른 방법을 소개합니다. 필요할 경우 참조할 수 있습니다.
이전 기사에서는 하위 문자열의 첫 번째 또는 마지막 발생을 기반으로 하위 문자열이 존재하는지 여부를 확인하기 위해 Stripos() 및 strripos() 함수 사용을 소개했지만 이 두 함수는 대소문자를 구분하지 않으며 검색합니다. 대소문자를 구분하지 않고 수행됩니다.
때때로 정확한 위치 지정과 엄격한 감지가 필요한 경우 대소문자를 구분하여 검색해야 합니다. 오늘 우리는 알아낼 것입니다.
다음 예를 살펴보겠습니다.
<?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
가 반환됩니다. $string
中查找子串$findme1
或者$findme2
。当完全匹配上,存在子串时,会返回子串在字符串的第一次或最后一次的出现位置;如果在字符串的没有找到子串,则返回FALSE
。
从上面的例子可以看出,只有子串"bc
"和字符串“ABCDCBAbcd
”是完全匹配,子串"bc
"被认为是存在于字符串“ABCDCBAbcd
”中的。因此输出结果为:
下面我们来详细了解一下strpos()和strrpos()函数。
strpos($string,$find,$start)
函数可以返回子字符串首次出现的位置(区分大小写);
strrpos($string,$find,$start)
函数可以返回子字符串最后一次出现的位置(区分大小写);
strpos()和strrpos()函数相似,都接受两个必需参数$string
(被查找的字符串)和$find
(要查找的子串),一个可省略参数$start
(查找的开始位置)。注:字符串位置起始于 0,而不是 1。
<?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); ?>
输出结果:
但strrpos()函数的参数$start
bc
"와 문자열 "ABCDCBAbcd
"만 완전히 일치하고 하위 문자열 "bc" >"는 "<code>ABCDCBAbcd
" 문자열에 있는 것으로 간주됩니다. 따라서 출력 결과는 다음과 같습니다.
strpos(), strrpos() 함수에 대해 자세히 살펴보겠습니다.
strpos($string,$find,$start)
함수는 하위 문자열이 처음 나타나는 위치를 반환할 수 있습니다(구별) 대문자 및 소문자);
strrpos($string,$find,$start)
함수는 하위 문자열이 마지막으로 나타나는 위치를 반환할 수 있습니다(대소문자 구분). strpos() 및 strrpos() 함수는 유사하며 둘 다 두 개의 필수 매개변수 $string
(검색되는 문자열) 및 $find
를 허용합니다. >(검색할 하위 문자열), 선택적 매개변수 $start
(검색 시작 위치). 참고: 문자열 위치는 1이 아닌 0부터 시작합니다. <?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,-5);
echo "<br>子串 '$findme2' 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串 '$findme2' 最后一次出现的位置:".strrpos($string, $findme2,-5);
?>
출력 결과:
$start
매개변수는 음수 값을 허용할 수 있으며, 음수인 경우 계산 위치에서 검색이 시작됩니다. 문자열의 끝에서. 🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜🎜마지막으로 클래식 강좌인 "🎜PHP 문자열 처리(옥소녀심경편)🎜"을 읽어보시길 추천합니다. 무료입니다~ 와서 배워보세요! 🎜위 내용은 PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!