>백엔드 개발 >PHP 튜토리얼 >PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).

PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).

青灯夜游
青灯夜游원래의
2021-08-05 14:32:322903검색

이전 글에서는 하위 문자열이 존재하는지 감지하는 방법을 소개했습니다. 관심이 있으시면 링크를 클릭하여 → "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 "子串 &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos2 !=FALSE){
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
if($pos3 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos4 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
?>

strpos() 및 strrpos() 함수는 경우에 따라 $string 문자열에서 하위 문자열 $findme1을 찾습니다. 민감한 태도 또는 $findme2. 정확히 일치하는 항목이 있고 하위 문자열이 존재하는 경우 문자열에서 해당 하위 문자열이 처음 또는 마지막으로 나타나는 경우가 반환됩니다. 하위 문자열이 문자열에서 발견되지 않으면 FALSE가 반환됩니다. $string中查找子串$findme1或者$findme2。当完全匹配上,存在子串时,会返回子串在字符串的第一次或最后一次的出现位置;如果在字符串的没有找到子串,则返回FALSE

从上面的例子可以看出,只有子串"bc"和字符串“ABCDCBAbcd”是完全匹配,子串"bc"被认为是存在于字符串“ABCDCBAbcd”中的。因此输出结果为:

PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).

下面我们来详细了解一下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 "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2);
?>

输出结果:

PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).

但strrpos()函数的参数$start

위의 예에서 볼 수 있듯이 하위 문자열 "bc"와 문자열 "ABCDCBAbcd"만 완전히 일치하고 하위 문자열 "bc" >"는 "<code>ABCDCBAbcd" 문자열에 있는 것으로 간주됩니다. 따라서 출력 결과는 다음과 같습니다.

PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).

PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).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 "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1,-5);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2,-5);
?>
출력 결과:

🎜PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).🎜🎜그러나 strrpos() 함수의 $start 매개변수는 음수 값을 허용할 수 있으며, 음수인 경우 계산 위치에서 검색이 시작됩니다. 문자열의 끝에서. 🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜🎜마지막으로 클래식 강좌인 "🎜PHP 문자열 처리(옥소녀심경편)🎜"을 읽어보시길 추천합니다. 무료입니다~ 와서 배워보세요! 🎜

위 내용은 PHP 문자열 학습은 하위 문자열이 존재하는지 감지합니다(대소문자 구분).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.