En PHP, les fonctions de traitement des chaînes sont très courantes, StripOS , STRPOS et STRRist sont les trois fonctions les plus couramment utilisées, qui sont toutes utilisées pour trouver la position d'une sous-chaîne dans une autre chaîne, mais elles diffèrent dans certains détails. Cet article expliquera en détail les différences, les scénarios d'utilisation et les fonctions spécifiques de ces trois fonctions.
STRPOS :
Fonction : trouver où une chaîne (substrice) apparaît d'abord dans une autre chaîne.
Sensibilisation à la casse : Oui, STRPOS est sensible à la casse.
Valeur de retour : renvoie l'emplacement où la sous-chaîne apparaît d'abord (à partir de 0) et si elle n'est pas trouvée, renvoie false .
Stripos :
Fonction : Similaire à STRPOS , les deux doivent trouver l'emplacement où une chaîne apparaît d'abord dans une autre chaîne.
Insensible au cas : Contrairement à STRPOS , STRPOS est insensible à la cas.
Valeur de retour : renvoie l'emplacement où la sous-chaîne apparaît d'abord (à partir de 0) et si elle n'est pas trouvée, renvoie false .
STRRIST :
Fonction : Trouver où une chaîne (sous-chaîne) apparaît d'abord dans une autre chaîne et renvoie tout de la position correspondante à la fin de la chaîne.
Insensible au cas : Strrist est également insensible à la casse.
Valeur de retour : renvoie la sous-chaîne correspondante et son contenu ultérieur. Si cela n'est pas trouvé, retournez faux .
fonction | Sensibilité à la casse | Type de valeur de retour | illustrer |
---|---|---|---|
strpos | Oui | Position de correspondance (int) | Trouver et retourner le premier match |
stripos | Non | Position de correspondance (int) | Trouver et renvoyer le premier match (cas insensible) |
strist | Non | Chaîne de la position correspondante à la fin | Recherchez et renvoyez le contenu de la position correspondante à la fin de la chaîne (cas insensible) |
STRPOS convient aux situations où des correspondances exactes sont nécessaires, surtout si vous vous souciez du cas. Par exemple, lorsque vous vérifiez si une URL contient une sous-chaîne spécifique, vous devez vous assurer que le cas est exactement cohérent.
Exemple de code :
<?php
$url = "https://www.m66.net/products";
$position = strpos($url, "m66.net");
if ($position !== false) {
echo "URL Inclus dans m66.net,Emplacement:{$position}";
} else {
echo "URL Non trouvé dans m66.net";
}
?>
Ce code renverra l'URL contenant m66.net, emplacement: 8 , car m66.net commence par le 8ème caractère.
Les Stripos conviennent aux cas où vous ne vous souciez pas du haut et des minuscules, surtout si vous souhaitez rechercher une sous-chaîne si vous souhaitez ignorer le cas. Par exemple, lorsque vous traitez l'entrée de l'utilisateur, vous ne pourrez peut-être pas contrôler le cas de l'entrée, vous pouvez donc utiliser des stripos .
Exemple de code :
<?php
$url = "https://www.M66.net/Products";
$position = stripos($url, "m66.net");
if ($position !== false) {
echo "URL Inclus dans m66.net,Emplacement:{$position}";
} else {
echo "URL Non trouvé dans m66.net";
}
?>
Ce code renverra l'URL contenant m66.net, position: 8 , que M dans la chaîne d'origine soit en majuscule ou en minuscules.
Strrist est utile pour trouver une sous-chaîne et tout obtenir derrière, surtout si vous ne vous souciez pas de la position correspondante, mais que vous vous souciez du contenu correspondant. Par exemple, lors de l'analyse d'une URL ou du traitement d'une chaîne, vous devrez peut-être intercepter la pièce qui commence d'une certaine position de correspondance à la fin.
Exemple de code :
<?php
$url = "https://www.m66.net/products?id=123";
$result = stristr($url, "m66.net");
if ($result !== false) {
echo "Chaîne correspondante:{$result}";
} else {
echo "Aucun contenu correspondant n'a été trouvé";
}
?>
Ce code renvoie la chaîne correspondante: https://www.m66.net/products?id=123 , qui contient tout de m66.net à la fin de la chaîne.
STRPOS : Care sensible, adaptée aux scénarios qui nécessitent des correspondances exactes.
Stripos : insensible à la casse, adapté aux scénarios en ce qui n'est pas concerné.
STRRIST : insensible à la casse, adapté aux scénarios où le contenu des positions de correspondance à la fin des chaînes doit être interceptée.
Le choix de la bonne fonction dépend de vos besoins spécifiques, et comprendre leurs différences peut vous aider à écrire un code plus efficace et effacé.