PHP STR_CONTAINS()函数
在PHP中检查字符串是否包含子字符串
字符串: 一组字符可以被称为字符串。例如“H”是一个字符,当我们在“HELLO HARRY”中使用“H”时,它变成一个字符串,字符“H”可以被视为字符串的一个元素。
一个字符串不仅仅是一个单一的字符集,它包含多个子字符串。我们还可以得出结论,所有子字符串都是字符串的子集,但是一个字符串永远不可能是子字符串的子集。
STR_CONTAINS(): 为了检查一个父字符串是否包含一个子字符串,PHP提供了一个内置函数叫做str_contains(),它帮助开发人员确定父字符串是否包含给定的子字符串。
PHP的str_contains()函数评估子字符串是否包含在父字符串的任何位置。如果存在子字符串,则函数将返回一个TRUE值,否则将返回一个False值。
语法:
str_contains (string haystack, stringneedle);
参数:
序号 | 参数 | 描述 | 可选/必要 |
---|---|---|---|
1 | Haystack / 主字符串 | 我们打算在其中检查的原始字符串 | 必要 |
2 | Needle / 子串 | 我们需要在主字符串(haystack)中查找的子串 | 必要 |
示例1:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=" width = device-width, initial-scale=1.0 " >
<title> PHP str _ contains ( ) function </title>
</head>
<body>
<?php
string = "this is my first PHP program for str_contains() to check for substring in the main string" . "<br>" ;
if(str_contains(string, ' string')) {
echo "the main string contain the word ' string '";
} else {
echo "the main string does not contain the word ' string '";
}
?>
</body>
</html>
输出:
示例2:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=" width = device-width, initial-scale=1.0 " >
<title> PHP str _ contains ( ) function </title>
</head>
<body>
<?php
string = "this is my first PHP program for str_contains() to check for substring in the main string" . "<br>" ;
if(str_contains(string, ' string')) {
echo "the main string contain the word ' string '";
} else {
echo "the main string does not contain the word ' string '";
}
if (str_contains($string, 'STRING')) {
echo "the main string contain the word ' STRING '";
}
else {
echo "the main string does not contain the word ' STRING '";
}
?>
</body>
</html>
输出:
在这个程序中,我们声明了一个变量 $string ,赋予它字符串值,并使用 str_contains() 函数来查找单词 “string”。根据 str_contains() 函数返回的值,我们声明了 if 和 else 语句。
str_contains() 函数的缺点
- 使用这个函数的一个主要缺点是它是区分大小写的,如果单词是大写或驼峰式写法,它不会查找相似的单词。
- 另一个缺点是该函数不会返回子字符串的位置或索引。
类似于 str_contains() 的替代函数
为了克服 str_contains() 的缺点,PHP 引入了一组新的函数,它们不仅检查给定的字符串是否包含子字符串,并且还给出了子字符串的索引位置。
- Stripos
- Strops
- Strrpos
Strops – 这个函数用于返回所搜索的子字符串的索引。
语法
Strops (string, substring, start): bool;
参数:
编号 | 参数 | 描述 | 可选/必选 |
---|---|---|---|
1 | string | 我们打算在其中进行检查的原始字符串 | 必选 |
2 | substring | 我们需要在主字符串中查找的子字符串 | 必选 |
3 | start | 指定子字符串开始查找的位置 | 可选 |
例如:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=" width = device-width, initial-scale=1.0 " >
<title> PHP str _ contains ( ) function </title>
</head>
<body>
<?php
input_string =" this is my first PHP program for strpos() to check for substring in the main string";
echostring;
sub = "string";
if (strpos(input_string, sub) !== false)
{
echo "the main string contains the word ' string '". "<br>";
}
else
{
echo "the main string does not contain the word ' string '". "<br>";
}sub = "STRING";
if (strpos(input_string,sub) !== false)
{
echo "the main string contain the word ' STRING '" . "<br>";
}
else
{
echo "the main string does not contain the word ' STRING '". "<br>";
}
?></body>
</html>
输出:
在上面的程序中,我们声明了一个变量 $input_string ,其值为字符串,并使用 strpos() 函数来查找单词”string”,并根据 strpos() 函数返回的值来声明if和else语句。
STRIPS – 此函数用于返回所搜索子字符串的第一个索引。
语法
stripos(string, substring, start) : bool;
参数:
序号 | 参数 | 描述 | 可选/必需 |
---|---|---|---|
1 | string | 最初的字符串,我们打算在其中进行检查 | 必需 |
2 | substring | 我们需要在主字符串中查找的子字符串 | 必需 |
3 | start | 指定子字符串搜索开始的位置 | 可选 |
STRIPS函数的示例:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=" width = device-width, initial-scale=1.0 " >
<title> PHP str _ contains ( ) function </title>
</head>
<body>
<?php
string = "hello world this is my first string";search = "string";
function Search(search,string){
position = stripos(string, search, 5); if (is_numeric(position)){
return "the string you are looking for is at : " . position;
}
else{
return "the string you are trying to find does not exist";
}
}
echo Search(search, $string);
?>
</body>
</html>
输出:
在上面的程序中,我们声明了变量 $string
和 $search
,并赋予了字符串值,并使用 stripos() 函数来查找单词”string”及其位置,并根据 stripos() 函数返回的值声明了if和else语句。
stripos() - 这个函数用于返回搜索子字符串的最后一个索引
语法
strrpos(string, substring, start) : bool;
参数:
编号 | 参数 | 描述 | 可选/必传 |
---|---|---|---|
1 | string | 我们要检查的原始字符串 | 必传 |
2 | substring | 我们需要查找主字符串中的子字符串 | 必传 |
3 | start | 指定子字符串的搜索起始位置 | 可选 |
STRROPS函数示例:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=" width = device-width, initial-scale=1.0 " >
<title> PHP str _ contains ( ) function </title>
</head>
<body>
<?php
string = "hello world this is my first string";search = "string";
function Search(search,string){
position = strrpos(string, search, 5); if (is_numeric(position)){
return "the string you are looking for is at : " . position;
}
else{
return "the string you are trying to find does not exist";
}
}
echo Search(search, $string);
?>
</body>
</html>
输出: