📅  最后修改于: 2023-12-03 15:05:22.949000             🧑  作者: Mango
在开发过程中,经常会需要判断某个字符串是否包含特定字符。在 PHP 中,我们可以使用 str_contains() 或者 strpos() 函数来判断。
本文将介绍这两个函数的用法,以及它们之间的区别和注意事项。
str_contains()
函数可以用于检查一个字符串是否包含特定字符。该函数自 PHP 8.0.0 版本开始可用。
以下是使用示例:
<?php
$str = "Hello world!";
if (str_contains($str, "world")) {
echo "输入的字符串包含 world";
} else {
echo "输入的字符串不包含 world";
}
输出结果为:
输入的字符串包含 world
需要注意的是,str_contains()
函数是区分大小写的,如果要忽略大小写,可以在比较时先将两个字符串全部转换为小写或大写。
如果你的 PHP 版本低于 8.0.0,那么就无法使用 str_contains()
函数。不过,你可以使用 strpos()
函数来达到同样的效果。
strpos()
函数用于查找字符串中是否包含某个子字符串,如果包含,返回该子字符串第一次出现的位置,否则返回 false。
以下是使用示例:
<?php
$str = "Hello world!";
if (strpos($str, "world") !== false) {
echo "输入的字符串包含 world";
} else {
echo "输入的字符串不包含 world";
}
需要注意的是,strpos()
函数返回的是一个整数值,如果使用 if (strpos($str, "world"))
这样的表达式来判断是否包含,会出现判断失误的情况。因为如果 world 出现在字符串的第 0 个位置,strpos()
函数也会返回 false。
本文介绍了 PHP 中判断字符串是否包含特定字符的两种方法:str_contains()
和 strpos()
函数。两种方法各有优缺点,具体使用时需要根据实际情况选择。
建议优先使用 str_contains()
函数,因为它更加直观和易懂,而且可以在 PHP 8.0.0 以上的版本中使用。如果需要兼容更老的 PHP 版本,可以使用 strpos()
函数。