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
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.
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);
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" } }
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);
Nous pouvons voir que le résultat de sortie est :
int(1) array(2) { [0]=> string(10) "tgvregbvst" [1]=> string(7) "gvregbv" }
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!