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

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

May 23, 2016 am 08:33 AM
strpos

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获取填充 
}
Copier après la connexion

注意这句代码:

if (false !== strpos($content, $word) || false !== strpos($title, $word)) { 
    //TODO 
}
Copier après la connexion

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

if (!strpos($content, $word))
Copier après la connexion

举个例子:

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

匹配:购物

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


本文地址:

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)