Maison  >  Article  >  développement back-end  >  Solution à l'avertissement PHP : argument non valide fourni pour preg_match()

Solution à l'avertissement PHP : argument non valide fourni pour preg_match()

WBOY
WBOYoriginal
2023-06-23 11:17:01904parcourir

Lorsque vous utilisez la fonction preg_match() de PHP, vous pouvez rencontrer l'erreur "Argument non valide fourni pour preg_match()". Cette erreur signifie que vous n'avez pas fourni correctement les paramètres à la fonction preg_match(). Dans cet article, nous en apprendrons plus sur cette erreur et comment la corriger.

  1. Error background

Dans une application PHP, vous pouvez utiliser la fonction preg_match() pour rechercher et faire correspondre une expression régulière. Cependant, si vous ne fournissez pas les arguments correctement comme prévu par la fonction preg_match(), vous rencontrerez le message d'erreur suivant :

PHP Attention : argument non valide fourni pour preg_match()

# 🎜🎜#Cela signifie que vous n'avez pas fourni correctement les paramètres à la fonction preg_match(). Plus précisément, vous rencontrerez cette erreur si vous ne fournissez pas les paramètres d’expression régulière corrects.

De plus, cette erreur se produira également lorsque le deuxième paramètre de la fonction preg_match() n'est pas une chaîne.

    Solution
Avant de résoudre cette erreur, vous devez connaître les paramètres corrects requis par la fonction preg_match(). La fonction preg_match() nécessite deux paramètres :

    Paramètre 1 : Une expression régulière
  • Paramètre 2 : La chaîne à rechercher dans #🎜🎜 ##🎜 🎜#
  • Voici quelques problèmes courants et solutions qui peuvent provoquer l'erreur « Argument non valide fourni pour preg_match() » :

Argument d'expression régulière non fourni# 🎜🎜##🎜 🎜#

Si vous ne fournissez pas d'argument d'expression régulière à la fonction preg_match(), vous verrez l'erreur "Argument non valide fourni pour preg_match()".
  1. Par exemple, si vous utilisez le code suivant :
$string = "Bonjour tout le monde !";

preg_match($string);

#🎜 🎜#L'exécution du code entraîne l'erreur suivante : Avertissement PHP : argument non valide fourni pour preg_match()

Pour résoudre ce problème, vous devez fournir une expression régulière à la fonction preg_match() comme suit : #🎜 🎜#

$string = "Bonjour tout le monde !";
preg_match("/Hello/", $string);

Le code ci-dessus recherchera " dans la chaîne $string variable Bonjour". Ici, l'expression régulière est "/Bonjour/".

Le deuxième paramètre n'est pas une chaîne


Lorsque le deuxième paramètre de la fonction preg_match() n'est pas une chaîne, "Invalid" sera apparaît l'argument fourni pour l'erreur preg_match()".

Par exemple, si vous utilisez le code suivant :
  1. $string = 123;
  2. preg_match("/[0-9]+/", $string );

L'exécution du code entraîne l'erreur suivante : Avertissement PHP : argument non valide fourni pour preg_match()

Pour résoudre ce problème, vous devez vous assurer du deuxième argument de la fonction preg_match() est une chaîne. Si ce que vous recherchez est un nombre, vous devez le convertir en une chaîne comme celle-ci :

$string = "123";
preg_match("/[0-9]+ / ", $string);

Le code ci-dessus recherchera des nombres dans la variable $string. Ici, l'expression régulière est "/[0-9]+/".

Autres erreurs


Si vous avez correctement fourni l'expression régulière et la chaîne à rechercher mais que vous voyez toujours "Argument non valide fourni pour preg_match() " erreur, veuillez vous assurer :

    Vous n'utilisez pas de syntaxe invalide dans l'expression régulière.
  1. Vous avez complètement supprimé les espaces inutiles dans l'expression régulière.

Votre version PHP supporte la fonction preg_match().

  • Summary
  • Dans une application PHP, vous pouvez utiliser la fonction preg_match() pour rechercher et faire correspondre une expression régulière. Vous pouvez rencontrer l'erreur « Argument non valide fourni pour preg_match() » lorsque vous ne fournissez pas correctement les arguments à la fonction preg_match(). Afin de résoudre ce problème, vous devez vous assurer que vous fournissez correctement l'expression régulière et la chaîne dans lesquelles rechercher, et qu'il n'y a pas d'erreurs de syntaxe ou d'espaces non valides.

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:
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