Home > Backend Development > PHP Tutorial > PHP string learning detects whether a substring exists (case sensitive)

PHP string learning detects whether a substring exists (case sensitive)

青灯夜游
Release: 2023-04-10 14:16:01
Original
2876 people have browsed it

In the previous article, we introduced a method to detect whether a substring exists. If you are interested, you can click on the link to view → "PHP string learning to determine whether a substring exists (case insensitive) )》. This time we introduce to you another method to detect whether a substring exists. You can refer to it if you need it.

In the previous article we introduced the use of stripos() and strripos() functions to determine whether a substring exists based on the first or last occurrence of the substring, but these two functions are If it is not case-sensitive, the search will be done without distinguishing between upper and lower case.

Sometimes we need precise positioning and strict detection, so we need to search in a case-sensitive manner. Today we will find out.

Let’s take a look at the following example

<?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; 中不存在。";
}
?>
Copy after login

The strpos() and strrpos() functions will search for substrings in the string $string in a case-sensitive manner$findme1 or $findme2. When there is an exact match and a substring exists, the first or last occurrence of the substring in the string will be returned; if the substring is not found in the string, FALSE will be returned.

As can be seen from the above example, only the substring "bc" and the string "ABCDCBAbcd" are completely matched, and the substring "bc" is considered to exist in the string "ABCDCBAbcd". Therefore, the output result is:

PHP string learning detects whether a substring exists (case sensitive)

Let’s take a closer look at the strpos() and strrpos() functions.

  • strpos($string,$find,$start)The function can return the position where the substring first appears (case-sensitive);

  • strrpos($string,$find,$start)The function can return the position of the last occurrence of the substring (case-sensitive);

The strpos() and strrpos() functions are similar and both accept two required parameters $string (the string being searched) and $find (the substring to be found) , an omitted parameter $start (the starting position of the search). Note: The string position starts at 0, not 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);
?>
Copy after login

Output result:

PHP string learning detects whether a substring exists (case sensitive)

But the parameter of strrpos() function $start can accept negative values ​​when it A negative number will cause the search to end at the count starting at the end of the string.

<?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);
?>
Copy after login

Output result:

PHP string learning detects whether a substring exists (case sensitive)

Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial

Finally, I recommend reading a classic course "PHP String Processing (Jade Girl Heart Sutra Edition)", it's free~ come and learn !

The above is the detailed content of PHP string learning detects whether a substring exists (case sensitive). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template