PHP中怎么判断一个字符串中是否有某个字符

如判断字符串“abc”中是否有字符“b”?
已邀请:
匿名用户

匿名用户

赞同来自:

  PHP可以用strpos()函数和strrpos()函数来搜索字符串中是否包含某个子字符串,成功搜索到时返回“子字符在字符串中的索引位置”,未搜索到时返回“false”。其中strpos()函数为从左往右搜索,strrpos()函数为从右往左搜索。

使用strpos函数搜索一个字符:
<?php
$str = 'abc';
if ( strpos($str, 'b') !== false ) {
    echo sprintf("%s含有字符b, 位置为第%d个字符", $str, strpos($str, 'b')+1);
} else {
    echo sprintf("%s中无字符b", $str);
}
输出:
abc含有字符b, 位置为第2个字符
 
  上面说的strpos()函数和strrpos()函数只适用于搜索只包含ASCII字符的字符串,不适合用于搜索包含汉字这样的多字节字符。如果包含中文汉字,请使用mb_strpos()函数和mb_strrpos()函数。
 
使用mb_strrpos()函数搜索包含汉字的字符串(需要指定编码):
<?php
$str = '爱E族: http://aiezu.com';
echo mb_strrpos($str, 'aiezu', 0, 'UTF8'); //指定编码为UTF8
//输出 12

要回复问题请先登录注册