检查 PHP 字符串是否包含另一个字符串的 3 种方法

已发表: 2022-02-13

可能是编写 PHP 代码确定 PHP 字符串是否包含另一个字符串的最令人沮丧的部分。 但不用担心——在本教程中,我们将展示使用多种方法识别子字符串是多么容易。 除了展示它们之外,我们还将讨论它们的优点,当然还有它们的缺点。 请记住,“根除”子字符串的方法不止一种。




目录

如果 PHP 字符串包含另一个字符串的几个注意事项

测试子字符串的第一个主要错误是使用了错误的比较运算符。 例如,如果您使用 != 检查子字符串,您最终可能会得到所谓的误报。 在这种情况下,最好使用 !==,它比较类型。

如果您在确定在特定上下文中使用哪个运算符时遇到问题,您可以参考这个 PHP 教程以获取有关运算符及其功能的详细信息。 您还将找到为新手程序员解释的代码示例。

正如我们所说,有不同的方法可以确定一个字符串是否包含一个单词或另一个字符串。 迄今为止,有五种方法,但只有前三种是快速的。

  1. stripos ()区分大小写以检查一个字符串是否包含另一个字符串。
  2. 字符串中字符串的正则表达式
  3. strstr ()为另一个字符串中的一个字符串。

1.使用区分大小写的字符串引用stripos()检查子字符串

检查一个字符串是否包含另一个字符串的最快和最轻松的方法是使用 stripos() 函数,该函数基本上搜索字符串是否包含特定单词。 如果字符串包含子字符串/单词,则函数将返回 TRUE,如果字符串不包含它们,则函数将返回 FALSE。




为了帮助您可视化 stripos() 的工作原理,这里有一个示例。

$first_string = “我比你大 10 岁。”

$sought_word=“年”

$字符 = “我”




$targeted_substring = “10 年”

如果 (strpos ($first_String, $sought_word) !== false {

echo '这个单词“'.$sought_word.'”在字符串中。';

}

(这会告诉你世界“年”可以在这个特定的字符串中找到)




if (stripos ($first_string, $character) !== false) {

echo '这个字符' '.$character.' “可以在这个特定的字符串中找到。”;

}

(这些行会告诉你“I”可以在给定的字符串中找到)

if (strpos ($first_string, $targeted substring) !== false {




echo '目标子字符串“'.targeted_substring.'”可以在这个字符串中找到。”

(这些行将告诉您可以在字符串中找到子字符串“5 years”)。

if (strpos($first_string, $character) != false) {

echo '这个字符' '.$character.' “出现在这个字符串中。”

} 别的 {

echo '这个字符' '.$character.' “ 没有出现在这个字符串中。

(这些行将告诉您在该特定字符串中找不到字符“I”。)

  • 相关:5 个最佳免费在线 Web 开发课程
  • 学习网页设计的 5 个最佳地点

2.字符串中子字符串的正则表达式

正则表达式又名 Regex 更适合在给定子字符串中搜索复杂模式。

这是一个如何使用上一个示例中定义的函数搜索子字符串的示例。

$first_string = “我比你大 10 岁。”

$sought_word=“年”

$字符 = “我”

$targeted_substring = “10 年”

如果 (preg_match('/years/', $first_string)) {

echo '单词“'.$sought_word.' “可以在这个字符串中找到。”;

}

(告诉用户可以在该字符串中找到单词“years”)

if (preg_match('/I/', $first_string)) {

echo '字符“'.$character.; “出现在这个字符串中。” ;

}

(告诉你“我”出现在你的字符串中。)

if (preg_match('/10 years/', $first_string)) {

echo '这个子字符串:'.$targeted_substring。' “出现在提供的字符串中。”

}

(告诉您定义为“10 年”的子字符串出现在您声明的字符串中)。

3. strstr() 函数在字符串中查找子字符串

strstr() 函数非常通用,这意味着它可以用于搜索特定字符串中的子字符串、字符和单词。 它所做的基本上是只返回包含第一个字符串的部分,从第一次出现的子字符串/单词一直到最后。 这是一个示例,可帮助您了解该功能如何

作品。

$first_string = “我比你大 10 岁。”

$sought_word=“年”

$字符 = “我”

$targeted_substring = “10 年”

如果 (strstr($first_string, $sought_word) !==false) {

echo '单词“'.$sought_word.'”出现在字符串中。;

}

(告诉你“年”在字符串中弹出)

if (strstr($first_string, $character) !==false) {

echo 'The character" '$character.'" 出现在给定的字符串中。';

}

(告诉用户字符“I”出现在字符串中)

if (strstr($first_string, $targeted_substring) !==false) {

echo '子字符串“'.$targeted_substring.; “出现在字符串中。”;

}

结论

好了,伙计们,确定您正在测试的字符串是否有子字符串的三种简单方法。 同样,请注意运算符,并确保使用多种方法测试您的字符串以避免误报结果。

如果您想学习 PHP 或任何语言,我建议您从任何一个顶级在线学习平台(如 Udemy)参加在线课程,它以非常低的价格为您提供任何类型的课程。 您可以阅读有关 Udemy 的完整详细信息。 您还可以查看我们的 Udemy 折扣券页面以获取最新优惠。

如果你喜欢这个关于检查PHP 字符串是否包含另一个字符串的方法的教程,请分享它。 想要更多提示,请在 Facebook、Twitter 和 YouTube 上关注 whatvwan。