Maison > développement back-end > Problème PHP > Une brève discussion sur la différence entre les fonctions preg_match et preg_match_all en PHP

Une brève discussion sur la différence entre les fonctions preg_match et preg_match_all en PHP

醉折花枝作酒筹
Libérer: 2023-03-08 21:56:02
original
2561 Les gens l'ont consulté

Cet article analyse et présente les fonctions preg_match et preg_match_all dans les expressions régulières PHP. Les amis dans le besoin peuvent s'y référer.

Une brève discussion sur la différence entre les fonctions preg_match et preg_match_all en PHP

Fonction preg_match_all()

Recherchez dans la chaîne donnée en fonction de l'expression régulière spécifiée et faites correspondre Retirez les parties qui correspondent les caractéristiques.

$pattern='/t(.*?)st/';
$str='tgvregbvst      test    tdst';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
Copier après la connexion

Nous pouvons voir que le résultat de sortie est :

int(3) array(2) { [0]=> array(3) { [0]=> string(10) "tgvregbvst" [1]=> string(4) "test" [2]=> string(4) "tdst" } [1]=> array(3) { [0]=> string(7) "gvregbv" [1]=> string(1) "e" [2]=> string(1) "d" } }
Copier après la connexion

Il répertorie tous ceux qui remplissent les conditions, mais la fonction preg_match() est différente. La fonction

preg_match()

effectue une correspondance d'expression régulière et renvoie le nombre de correspondances de pattern. Sa valeur sera 0 fois (pas de correspondance) ou 1 fois, car preg_match() arrêtera la recherche après la première correspondance.

$pattern='/t(.*?)st/';
$str='tgvregbvst      test    tdst';
var_dump(preg_match($pattern,$str,$arr));
var_dump($arr);
Copier après la connexion

Nous pouvons voir que le résultat de sortie est :

int(1) array(2) { [0]=> string(10) "tgvregbvst" [1]=> string(7) "gvregbv" }
Copier après la connexion

Par rapport à la fonction précédente, le résultat de sortie de cette fonction est bien moindre.

preg_match_all() est différent de la fonction preg_match(), qui continuera à rechercher subject jusqu'à ce qu'elle atteigne la fin. Si une erreur se produit, preg_match() renvoie false.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal