Dans la programmation PHP, STRPOS est une fonction de chaîne couramment utilisée qui est utilisée pour trouver l'emplacement où une sous-chaîne apparaît d'abord. Cette fonction est particulièrement utile et peut vous aider à localiser rapidement la position lorsque vous devez vérifier si une sous-chaîne spécifique existe dans une chaîne. Si elle est trouvée, STRPOS renvoie la première position d'occurrence de la sous-chaîne (basée sur l'indice de 0); Si cela n'est pas trouvé, faux .
<span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>
$ Haystack : la chaîne à rechercher.
$ aiguille : la sous-chaîne à trouver.
$ offset : paramètre facultatif, indiquant où commencer à rechercher dans $ haystack , la valeur par défaut est 0 (recherche à partir de zéro).
Si $ aigule est trouvé, il renvoie l'emplacement où il apparaît d'abord dans $ Haystack (intégral, index basé sur 0).
Si $ aigule n'est pas trouvé, false est retourné.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"venez '<span class="hljs-subst">$needle</span></span></span><span>' Position en chaîne: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中venez";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Sortir :
<span><span>venez </span><span><span class="hljs-string">'PHP'</span></span><span> Position en chaîne: 18
</span></span>
Dans cet exemple, STRPOS recherche la position de la chaîne "php" dans "$ haystack" . Le résultat renvoyé est de 18, car "PHP" commence par le 18e caractère.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"o"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// Depuis5Commencez à chercher des caractères</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"De l'emplacement 5 开始venez 'o' Position en chaîne: <span class="hljs-subst">$position</span></span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'o' 未在字符串中venez"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Sortir :
<span><span>De l'emplacement </span><span><span class="hljs-number">5</span></span><span> 开始venez </span><span><span class="hljs-string">'o'</span></span><span> Position en chaîne: </span><span><span class="hljs-number">7</span></span><span>
</span></span>
Dans cet exemple, STRPOS saute les cinq premiers personnages (c'est-à-dire "bonjour" ) puis commence ensuite à chercher "O" du 5ème personnage. Le résultat renvoie la position où le premier "O" apparaît, c'est-à-dire le 7ème caractère.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Python"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中venez";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"venez '<span class="hljs-subst">$needle</span></span></span><span>' Position en chaîne: </span><span><span class="hljs-subst">$position</span></span><span>";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Sortir :
<span><span><span class="hljs-string">'Python'</span></span><span> 未在字符串中venez
</span></span>
Dans cet exemple, "Python" n'existe pas dans $ Haystack , STRPOS reviendra faux et nous assurons un jugement précis en comparant l'opérateur === .
Comparaison des valeurs de retour : une attention particulière doit être accordée à STRPOS , ce qui peut être 0 , ce qui signifie que la sous-chaîne apparaît au début de la chaîne. Étant donné que 0 est considéré comme faux , si vous utilisez si ($ position) pour porter des jugements directement, cela peut entraîner des résultats de jugement incorrects. Par conséquent,! == false devrait être utilisé pour vérifier si la valeur de retour est fausse .
Sensibilisation à la casse : STRPOS est sensible à la casse. Si vous avez besoin de recherches insensibles à des cas, vous pouvez utiliser la fonction Scripos .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"php"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stripos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>); </span><span><span class="hljs-comment">// Recherche insensible à la cas</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"venez '<span class="hljs-subst">$needle</span></span></span><span>'(Cas insensible au cas)Position en chaîne: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中venez";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Sortir :
<span><span>venez </span><span><span class="hljs-string">'php'</span></span><span>(Cas insensible au cas)Position en chaîne: 18
</span></span>
STRPOS est une fonction de chaîne très pratique en PHP, ce qui peut vous aider à trouver efficacement la première occurrence de sous-chaînes. Grâce à une utilisation raisonnable, les exigences de la recherche de chaînes peuvent être facilement gérées. En développement, la maîtrise de l'utilisation de base de cette fonction peut considérablement améliorer l'efficacité et la lisibilité du code.