📌  相关文章
📜  如何检查字符串是否包含PHP中的子字符串?(1)

📅  最后修改于: 2023-12-03 15:38:50.261000             🧑  作者: Mango

如何检查字符串是否包含PHP中的子字符串?

在PHP中,我们可以使用多种方法来检查字符串是否包含子字符串。下面将介绍其中几种方法。

1. strpos函数

strpos()函数可以用来查找子字符串在字符串中第一次出现的位置,如果找到则返回该位置的索引值,否则返回false。我们可以根据返回值是否为false来判断字符串是否包含子字符串。

$string = "hello world";
$substring = "world";

if (strpos($string, $substring) !== false) {
    echo "The string '$string' contains the substring '$substring'";
} else {
    echo "The string '$string' does not contain the substring '$substring'";
}

上述代码会输出:The string 'hello world' contains the substring 'world'

需要注意的是,strpos()函数的返回值是该子字符串在字符串中出现的位置,位置从0开始计数。如果该子字符串恰好出现在字符串的起始位置,则返回0。因此在做判断时需要使用!== false而不是!= false

2. strstr函数

strstr()函数可以用来检查一个字符串是否包含另一个字符串,并返回第一次出现的位置到字符串结尾的所有字符(包括该子字符串)。

$string = "hello world";
$substring = "world";

if (strstr($string, $substring)) {
    echo "The string '$string' contains the substring '$substring'";
} else {
    echo "The string '$string' does not contain the substring '$substring'";
}

上述代码会输出:The string 'hello world' contains the substring 'world'

需要注意的是,strstr()函数返回一个字符串或false,因此在做判断时需要使用if (strstr($string, $substring))而不是if (strstr($string, $substring) != false)

3. preg_match函数

preg_match()函数可以使用正则表达式来检查一个字符串是否包含另一个字符串。如果找到则返回1,否则返回0。

$string = "hello world";
$substring = "/world/";

if (preg_match($substring, $string)) {
    echo "The string '$string' contains the substring 'world'";
} else {
    echo "The string '$string' does not contain the substring 'world'";
}

上述代码会输出:The string 'hello world' contains the substring 'world'

需要注意的是,$substring需要写成正则表达式的格式,即用斜杠包裹起来。例如:"/world/"

以上就是几种检查字符串是否包含子字符串的方法。可以根据实际需求选择合适的方法来使用。