PHP 8 中新增了一个函数 str_contains,专门用于检查一个字符串是否包含了另外一个字符串。很大原因是 strpos 函数不够直观且容易出错。这里简单介绍下。
原型如下:
如果字符串 $haystack 中包了字符串 $needle,则返回 true,否则为 false。检查时大小写敏感。
看下例子:
<?php
var_dump(str_contains("Xingchao Zhang", "Xing"));
var_dump(str_contains("Xingchao Zhang", "xing"));
var_dump(str_contains("Xingchao Zhang", ""));
输出为:
bool(true)
bool(false)
bool(true)
因为大小写敏感,第二行返回 false。
如同第三行,当目标字符串为空字符串时,结果总是为 true。