📅  最后修改于: 2023-12-03 15:38:50.261000             🧑  作者: Mango
在PHP中,我们可以使用多种方法来检查字符串是否包含子字符串。下面将介绍其中几种方法。
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
。
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)
。
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/"
。
以上就是几种检查字符串是否包含子字符串的方法。可以根据实际需求选择合适的方法来使用。