Position actuelle: Accueil> Derniers articles> Dans la programmation PHP, comment vérifiez-vous le début et la fin d'une chaîne en combinaison avec str_ends_with et str_starts_with?

Dans la programmation PHP, comment vérifiez-vous le début et la fin d'une chaîne en combinaison avec str_ends_with et str_starts_with?

gitbox 2025-06-22

Dans la programmation PHP, le fonctionnement de la chaîne est une tâche très courante, en particulier lorsque vous traitez des chemins de fichier, des URL, des entrées utilisateur et d'autres scénarios, nous devons souvent vérifier le début et la fin de la chaîne. PHP fournit deux fonctions très utiles: STR_STARTS_WITH et STR_ENDS_WITH , ce qui peut nous aider à déterminer rapidement si une chaîne démarre ou se termine par une sous-chaîne spécifique. Cet article expliquera comment utiliser ces deux fonctions ensemble afin de vérifier efficacement le début et la fin d'une chaîne.

1. Introduction à la fonction STR_STARTS_WITH

La fonction STR_STARTS_WITH est utilisée pour vérifier si une chaîne commence par une sous-chaîne spécifiée. La syntaxe de base de cette fonction est la suivante:

 <span><span><span class="hljs-title function_ invoke__">str_starts_with</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">bool</span></span><span>
</span></span>
  • $ Haystack : la chaîne cible à vérifier.

  • $ aiguille : une sous-chaîne utilisée pour la comparaison.

Si la chaîne cible $ Haystack commence par $ aiguille , la fonction renvoie true ; Sinon, faux .

Exemple:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"ex"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Nom de fichier avec 'ex' début。\n"</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">"Nom du fichier pas 'ex' début。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Sortir:

 <span><span>Nom de fichier avec </span><span><span class="hljs-string">'ex'</span></span><span> début。
</span></span>

2. Introduction à la fonction STR_ENDS_WITH

La fonction STR_ENDS_WITH est utilisée pour vérifier si une chaîne se termine par une sous-chaîne spécifiée. La syntaxe de base de cette fonction est la suivante:

 <span><span><span class="hljs-title function_ invoke__">str_ends_with</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">bool</span></span><span>
</span></span>
  • $ Haystack : la chaîne cible à vérifier.

  • $ aiguille : une sous-chaîne utilisée pour la comparaison.

Si la chaîne cible $ Haystack se termine par $ aiguille , la fonction renvoie true ; Sinon, faux .

Exemple:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".txt"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Nom de fichier avec '.txt' Fin。\n"</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">"Nom du fichier pas '.txt' Fin。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Sortir:

 <span><span>Nom de fichier avec </span><span><span class="hljs-string">'.txt'</span></span><span> Fin。
</span></span>

3. Utilisez STR_STARTS_WITH et STR_ENDS_WITH

Dans le développement réel, nous devons souvent vérifier le début et la fin d'une chaîne en même temps. Par exemple, nous devrons peut-être confirmer qu'un nom de fichier commence par un préfixe spécifique et se termine par un suffixe spécifique. Pour y parvenir, nous pouvons utiliser STR_STARTS_WITH et STR_ENDS_WITH ensemble.

Exemple: vérifiez si le nom du fichier commence par "IMG_" et se termine par ".jpg"

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"img_picture.jpg"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_starts_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"img_"</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">str_ends_with</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">".jpg"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Nom de fichier avec 'img_' début并且以 '.jpg' Fin。\n"</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">"Le nom du fichier ne répond pas aux exigences。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Sortir:

 <span><span>Nom de fichier avec </span><span><span class="hljs-string">'img_'</span></span><span> début并且以 </span><span><span class="hljs-string">'.jpg'</span></span><span> Fin。
</span></span>

4. Optimisation du code et précautions

Lorsque nous devons faire plusieurs vérifications de chaîne, l'utilisation de str_starts_with et str_ends_with peut considérablement améliorer la lisibilité et l'efficacité du code. Cependant, il y a encore certaines choses à noter:

  • Problèmes de performance : Lorsque vous traitez avec de très longues chaînes, bien que la complexité du temps de ces deux fonctions soit O (n), nous devons toujours considérer les problèmes de performance, en particulier lorsque nous devons vérifier fréquemment un grand nombre de chaînes. Les calculs en double peuvent être réduits grâce à des mécanismes de traitement par lots ou de mise en cache.

  • Encodage de caractères : ces deux fonctions conviennent aux chaînes codées UTF-8. Si vous traitez les chaînes dans d'autres formats de codage, il est recommandé d'effectuer d'abord la conversion de codage.

5. Résumé

Les fonctions STR_STARTS_WITH et STR_ENDS_WITH dans PHP sont des outils très pratiques pour vérifier le début et la fin d'une chaîne. Dans de nombreux scénarios pratiques, nous pouvons améliorer la lisibilité et l'efficacité du code en combinant ces deux fonctions. Qu'il s'agisse d'un nom de fichier, d'une URL ou de toute autre chaîne qui doit correspondre au début et à la fin, la maîtrise de l'utilisation de ces deux fonctions nous aidera à atteindre nos objectifs plus rapidement.