内容简介:在php里面,判断某个字符串里面是否存在某个子串,可以用如果strpos没找到子串,则会返回FALSE,需要用看如下示例代码
php查找子字符串
在 php 里面,判断某个字符串里面是否存在某个子串,可以用 strpos
, 官方手册
在这里
strpos
如果strpos没找到子串,则会返回FALSE,需要用 ===
来判断是否未找到子串。若找到子串,则会返回该子串第一次出现的位置。
看如下示例代码
$str = 'abcdefg'; $result = strpos($str, 'a'); var_dump($result); if (false == $result) { echo "find failed\n"; } else { echo "find success\n"; } if (false === $result) { echo "find failed\n"; } else { echo "find success\n"; }
打印结果是:
int(0) find failed find success
从上方代码可见, ==
与 ===
的打印结果不一样,因为0被转换为布尔类型时,被认为是false。
mb_strpos
我在之前一篇笔记计算字符串长度里面,已经写到过 mbstring
的 mb_strlen
一些用法
$str = 'abc中文defg'; $result = strpos($str, '文'); var_dump($result);
看下打印结果是:
int(6)
我的php环境默认的编码是 ISO-8559-1
,在这个编码里面,中文占2个字节,而strpos是按字节查找的,结果是6与我想要的4不符,需要使用mb_strpos来查找。
$str = 'abc中文defg'; $result = mb_strpos($str, '文', 0, "UTF8"); var_dump($result);
看下打印结果是:
int(4)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。