Heim > php教程 > php手册 > php中STRPOS查找失败返回的是FALSE注意事项

php中STRPOS查找失败返回的是FALSE注意事项

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-05-23 08:33:42
Original
1719 Leute haben es durchsucht

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; 
        }   
    } 
    $segment_words = array_unique($segment_words); 
    $segment_words = implode(',', $segment_words); 
    echo $segment_words;exit; //ajax获取填充 
}
Nach dem Login kopieren

注意这句代码:

if (false !== strpos($content, $word) || false !== strpos($title, $word)) { 
    //TODO 
}
Nach dem Login kopieren

如果匹配失败,strpos会返回bool类型的false,这个一定要注意,不然会出现什么情况呢?假如你要匹配的字符正好在第一个位置,对于strpos这个函数来说返回的是0,也就是位置0.这个时候实际上是匹配到了,结果返回0,如果这样判断就错了:

if (!strpos($content, $word))
Nach dem Login kopieren

举个例子:

内容:购物袋范德萨法拉点撒范德萨。

匹配:购物

如果要找内容里面是否有"购物"两个字,strpos会返回0,表示存在"购物"两个字,位置是0,因此要用false!=strpos($find,$content)来判断匹配是否成功.


本文地址:

转载随意,但请附上文章地址:-)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage