Home > Backend Development > PHP Problem > How to detect whether substring exists in php

How to detect whether substring exists in php

青灯夜游
Release: 2023-03-16 22:34:01
Original
3716 people have browsed it

4 methods: 1. Use stripos() to find the occurrence position of the substring, the syntax "stripos($str,$find)"; 2. Use strripos() to find the occurrence position of the substring, the syntax "strripos($str,$find)"; 3. Use strpos() to find the occurrence position of a substring, the syntax is "strpos($str,$find)"; 4. Use strrpos() to find the occurrence position of a substring, the syntax "strrpos($str,$find)".

How to detect whether substring exists in php

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer

When performing a string search operation, sometimes It is required to find a specified substring (substring for short) in a certain string to see if the substring exists in this string.

We generally use PHP built-in functions to find the first or last occurrence of this substring in the string to make a judgment. There are two situations for searching strings: one is case-insensitive, that is, case-insensitive search; the other is case-sensitive, that is, case-sensitive search.

Case 1: Determine whether the substring exists (case insensitive)

Case insensitive detection of whether the substring exists , you need to use the stripos() and strripos() functions.

Both the stripos() and strripos() functions can check the occurrence position of the specified substring in a case-insensitive manner. If the return value is FALSE, the specified substring does not exist.

So we can use the following code to determine whether the substring exists

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";

if(stripos($string, $findme)!=FALSE){
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}
?>
Copy after login

Output result:

How to detect whether substring exists in php

Explanation: stripos() and strripos() functions

stripos($string,$find,$start)The function can find the first occurrence of a string in another string Location (not case sensitive).

strripos($string,$find,$start)The function can find the last occurrence of a string in another string (case-insensitive).

The parameters of these two functions are similar. They both accept two required parameters $string and $find, and one optional parameter $start.

  • $stringParameter: used to specify the string to be found.

  • $findParameter: used to specify the substring to be found, which can contain one or more characters. (If it is not a string type, it is converted to an integer and treated as a character-ordered value).

  • $startParameter: used to specify which character in $string to start searching from. The returned positional numerical value is still relative to # The starting position of ##$string.

Case 2: Detect whether the substring exists (case sensitive)

Case sensitive detector Whether the string exists, you need to use the strpos() and strrpos() functions.

The strpos() and strrpos() functions can check the occurrence position of the specified substring in a case-sensitive manner. If the return value is FALSE, the specified substring does not exist.

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 case-sensitively find substrings in the string

$string$findme1or$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:

How to detect whether substring exists in php

Description: 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);

strpos() and strrpos() functions are similar, both Accepts two required parameters

$string (the string being searched) and $find (the substring to be found), and one optional 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:

How to detect whether substring exists in php

Recommended learning: "

PHP Video Tutorial"

The above is the detailed content of How to detect whether substring exists in php. 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