PHP中,如何判断一个字符串是否包含指定的字符串?
本文使用strpos和substr_count方法来判断是否包含指定的字符串。
思考一下下面的伪代码
$a = 'How are you?';
if ($a contains 'are')
echo 'true';
假设我有上面的代码,判断($a包含’are’),实现判断$a包含’are’的正确方法是什么呢?
strpos
可以使用strpos()函数,该函数用于查找一个字符串在另一个字符串中的位置:
$a = 'How are you?';
if (strpos($a, 'are') !== false) {
echo 'true';
}
注意,这里使用的是!== false,strpos()返回字符在字符串中开始时的偏移量,如果没有找到,则返回布尔值false。因为0是一个有效的偏移量,而0是“falsey”,所以我们不能写像!strpos($a, ‘are’)。
substr_count
也可以使用substr_count来获取指定字符在字符串的数量。
例如:
$text = 'This is a test';
echo substr_count($text, 'is'); // 2
if (substr_count($text, 'is') > 0) {
echo "is exists";
}
大于0,代表出现一次,即存在该字符串。