php中STRPOS查找失败返回的是FALSE注意事项
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-13 10:04:31 浏览: 评论:0
strpos() 函数返回字符串在另一个字符串中第一次出现的位置了,但是我们在按官方的手册来测试时发现一直返回false了,那么要如何来解决.
STRPOS用法:strpos(string,find,start)
我们看看strpos的一段代码:
- //ajax获取分词
- public function get_segment_words() {
- $title = I('title');
- $content = I('content');
- $Segment = M('Segment');
- $Segment_content = M('Segment_content');
- $segment_array = $Segment->getField('id,word');
- $setment_words = array();
- foreach ($segment_array as $id => $word) {
- if (false !== strpos($content, $word) || false !== strpos($title, $word)) {
- $segment_words[] = $word;
- } //开源软件:phpfensi.com
- }
- $segment_words = array_unique($segment_words);
- $segment_words = implode(',', $segment_words);
- echo $segment_words;exit; //ajax获取填充
- }
- 注意这句代码:
- if (false !== strpos($content, $word) || false !== strpos($title, $word)) {
- //TODO
- }
如果匹配失败,strpos会返回bool类型的false,这个一定要注意,不然会出现什么情况呢?假如你要匹配的字符正好在第一个位置,对于strpos这个函数来说返回的是0,也就是位置0.这个时候实际上是匹配到了,结果返回0,如果这样判断就错了:
if (!strpos($content, $word))
举个例子:
内容:购物袋范德萨法拉点撒范德萨。
匹配:购物
如果要找内容里面是否有“购物”两个字,strpos会返回0,表示存在“购物”两个字,位置是0,因此要用false!=strpos($find,$content)来判断匹配是否成功.
Tags: STRPOS php查找失败
- 上一篇:php 抓取新浪新闻的程序代码
- 下一篇:PHP字符串转换RMB形式数字
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)