Maison > développement back-end > tutoriel php > Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)

Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)

青灯夜游
Libérer: 2023-04-10 14:12:02
original
2654 Les gens l'ont consulté

La comparaison et la recherche de chaînes sont les opérations les plus courantes. Dans l'article précédent "Apprentissage des chaînes PHP : comparaison de deux chaînes", nous avons présenté la méthode de comparaison des chaînes. L'article suivant vous guidera à travers l'opération de recherche de chaîne et présentera la méthode permettant de vérifier si une sous-chaîne existe.

Lorsque vous effectuez une opération de recherche de chaîne, vous devez parfois rechercher une sous-chaîne spécifiée (appelée sous-chaîne) dans une certaine chaîne pour voir si la sous-chaîne existe dans cette chaîne.

Nous faisons généralement le jugement en utilisant les fonctions intégrées de PHP pour trouver la première ou la dernière occurrence de cette sous-chaîne dans la chaîne. Il existe deux situations pour rechercher des chaînes : l'une est insensible à la casse, c'est-à-dire une recherche insensible à la casse ; l'autre est sensible à la casse, c'est-à-dire une recherche sensible à la casse. Voyons maintenant comment déterminer si une sous-chaîne existe sans respecter la casse.

Jetons un œil aux châtaignes ci-dessous.

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串  “&#39;$findme&#39;” 第一次出现的位置:".stripos($string, $findme);
echo "<br>子串  “&#39;$findme&#39;” 最后一次出现的位置:".strripos($string, $findme);
?>
Copier après la connexion

Regardez le code dans l'exemple ci-dessus, quel sera, selon vous, le résultat ? La première occurrence est « 2 » et la dernière occurrence est « 8 », n'est-ce pas ? Jetons un coup d'œil au résultat :

Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)

Oups, c'est en fait "1" et "7", pourquoi ? La raison est la suivante : La position de la chaîne commence à 0, pas à 1. Bien sûr, nous avons tort de calculer sur la base de la position de départ 1.

Nous pouvons donc utiliser le code suivant pour déterminer si la sous-chaîne existe

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";

if(stripos($string, $findme)!=FALSE){
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}
?>
Copier après la connexion

Résultat de sortie :

Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)

Examinons ces deux fonctions en détail. La fonction

stripos($string,$find,$start) peut trouver la première occurrence d'une chaîne dans une autre chaîne (insensible à la casse). La fonction stripos($string,$find,$start)函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

strripos($string,$find,$start)函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。

这两个函数的参数是相似的,都接受两个必需参数$string$find,一个可省略参数$start

  • $string参数:用于指定要被查找的字符串。

  • $find参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。

  • $start参数:用于指定从$string 中的哪个字符开始查找,返回的位置数字值仍然相对于 $string 的起始位置。

但strripos()函数的$start参数允许使用负值,此时将使得查找从字符串的起始位置开始,到 $start

strripos($string,$find,$start) peut trouver la dernière occurrence d'une chaîne dans une autre chaîne (insensible à la casse).

Les paramètres de ces deux fonctions sont similaires. Elles acceptent toutes deux deux paramètres obligatoires $string et $find, et un paramètre omis $start</code >. . <p><ul style="list-style-type: disc;"><li><img src="https://img.php.cn/upload/image/321/970/604/162813895035029Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)" title="162813895035029Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)" alt="Apprentissage de chaîne PHP pour déterminer si une sous-chaîne existe (insensible à la casse)"/><code>$string Paramètre : utilisé pour préciser la chaîne à trouver.

  • $find Paramètre : utilisé pour préciser la sous-chaîne à trouver, qui peut contenir un ou plusieurs caractères. (S'il ne s'agit pas d'un type chaîne, il est converti en entier et traité comme une valeur ordonnée par caractères).

  • Paramètre $start : utilisé pour spécifier à partir de quel caractère de $string commencer la recherche. La valeur numérique de position renvoyée est toujours relative à <. code >La position de départ de $string.

  • Cependant, le paramètre $start de la fonction strripos() autorise des valeurs négatives, ce qui fera démarrer la recherche depuis le début de la chaîne jusqu'à $ position de départ.

    Résultat de sortie : 🎜🎜🎜🎜D'accord, c'est tout si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜 Enfin, je recommande de lire un cours classique "🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜", c'est gratuit~ venez apprendre ! 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    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
    Derniers numéros
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal