📜  stristr php (1)

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

PHP的stristr函数

PHP的stristr函数是用于在字符串中查找子字符串的函数,它不区分大小写。本篇文章将对stristr函数的用法进行详细介绍。

stristr函数的语法
stristr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string|false

在这个语法中,haystack是要搜索的字符串,needle是要查找的子字符串。before_needle是一个可选参数,如果设置为TRUE,则返回匹配子字符串之前的所有内容。如果为FALSE或未设置,则返回匹配子字符串及其之后的所有内容。

如果needle参数是一个数组,它将会迭代地使用该函数进行查找操作,并返回第一个匹配项。

该函数返回匹配到的子字符串以及之后的字符串,如果它在haystack中没有找到任何匹配项,则返回FALSE

stristr函数的示例
// 检查字符串"Hello world!"中是否存在子字符串"world"
if (stristr("Hello world!", "world")) {
  echo "存在这个子字符串";
} else {
  echo "不存在这个子字符串";
}

这将输出:

存在这个子字符串

您还可以使用before_needle参数来获取子字符串之前的内容:

// 获取字符串"My name is John Doe."中"John"之前的所有内容
echo stristr("My name is John Doe.", "John", true);

这将输出:

My name is 

如果您想查找多个子字符串,请使用以下代码:

$search = array("hello", "world", "foo", "bar");
$string = "Hello world!";

foreach ($search as $word) {
    if (stristr($string, $word)) {
        echo "找到了:{$word}\n";
    }
}

这将输出:

找到了:hello
找到了:world
注意事项
  • needle参数可以是一个数组,但是它不支持通配符匹配。
  • needle参数的大小写不敏感。
  • 如果needle参数是空字符串,该函数将返回完整的haystack字符串。