<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 本文由 ChatGPT 生成,供学习参考使用</span></span><span>
</span><span><span class="hljs-comment">// 文章主题:PHP 中 strrpos 函数的使用技巧</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>用 strrpos 函数如何快速查找字符串中特定字符最后一次出现的位置?实用技巧分享</h1>
<p>在 PHP 的日常开发中,字符串处理无疑是最常见的任务之一。查找某个字符或子字符串在一个字符串中最后一次出现的位置,通常用于路径处理、后缀提取、日志分析等场景。PHP 提供了一个非常实用的内置函数 <code></span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>()
La fonction renvoie la valeur d' INT (représente la position), et si elle n'est pas trouvée, il renvoie false .
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"https://example.com/image/photo.jpg"</span></span><span>;
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"/"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$pos</span></span><span>; </span><span><span class="hljs-comment">// Sortir:27(La position de la dernière barre oblique)</span></span><span>
Dans l'exemple ci-dessus, STRRPOS a trouvé avec succès l'emplacement où se trouve le dernier "/" dans la chaîne. Ceci est particulièrement utile lors de la gestion des URL ou des chemins de fichier.
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">"/var/www/html/index.php"</span></span><span>;
</span><span><span class="hljs-variable">$lastSlash</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-string">"/"</span></span><span>);
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-variable">$lastSlash</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>; </span><span><span class="hljs-comment">// Sortir:index.php</span></span><span>
Positionnez le dernier "/" via STRRPOS , puis extraire le contenu suivant en combinaison avec la fonction substr pour obtenir le nom de fichier. Cette méthode d'écriture est simple et efficace, et est une technique courante pour de nombreux programmeurs.
Le troisième paramètre du décalage STRRPOS $ peut spécifier où commencer à regarder en arrière, mais il convient de noter qu'il ne limite pas la plage de recherche , il modifie simplement le point de départ de la recherche.
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abcabcabc"</span></span><span>;
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"a"</span></span><span>, -</span><span><span class="hljs-number">4</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$pos</span></span><span>; </span><span><span class="hljs-comment">// Sortir:3</span></span><span>
Dans cet exemple, -4 signifie rechercher "A" en arrière à partir de la position du quatrième dernier caractère, et la position trouvée est 3 ( compter à partir de 0 ). L'utilisation rationnelle du paramètre de décalage peut nous aider à effectuer des recherches précises dans certaines chaînes.
Les débutants confondent souvent StrrPos et Strrchr . La distinction simple est la suivante:
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello.world.php"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"."</span></span><span>); </span><span><span class="hljs-comment">// Sortir:11</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strrchr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"."</span></span><span>); </span><span><span class="hljs-comment">// Sortir:.php</span></span><span>
STRRPOS est une fonction de traitement de chaîne très pratique en PHP, en particulier adapté aux tâches telles que la recherche de chemins, l'extraction des noms de fichiers et le traitement des suffixes. La maîtrise de sa syntaxe de base et de son utilisation commune peut considérablement améliorer l'efficacité de votre fonctionnement de chaîne.
Que vous soyez un débutant ou un développeur expérimenté, compétent pour l'utilisation de STRRPOS est une compétence de base dans l'écriture de code PHP de haute qualité.