Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens une erreur « Une valeur numérique non bien formée rencontrée » lorsque j'utilise la fonction `date()` de PHP avec un paramètre GET ?

Pourquoi est-ce que j'obtiens une erreur « Une valeur numérique non bien formée rencontrée » lorsque j'utilise la fonction `date()` de PHP avec un paramètre GET ?

Susan Sarandon
Libérer: 2024-12-04 05:10:14
original
658 Les gens l'ont consulté

Why am I getting a

Comprendre l'erreur "Une valeur numérique non bien formée rencontrée" en PHP

Lorsque vous essayez de valider les dates transmises à partir d'un formulaire, vous pouvez rencontrer l'erreur "Une valeur numérique non bien formée a été rencontrée." Cette erreur indique que vous essayez d'utiliser une valeur qui n'est pas un nombre bien formé.

Dans votre cas spécifique, vous obtenez cette erreur en essayant d'utiliser la fonction date() avec un paramètre GET. représentant une date de début. Le problème se pose car ce paramètre est transmis sous forme de chaîne au format « 2020-10-10 » ou « 2020/10/10 », ce qui n'est pas une valeur numérique valide pour la fonction date().

Résoudre le problème

Pour résoudre ce problème, vous devez convertir le paramètre de date en valeur numérique avant de le transmettre à la date() fonction. Vous pouvez utiliser la fonction strtotime() pour convertir la représentation de la date sous forme de chaîne en un nombre de secondes. Voici le code corrigé :

date("d", strtotime($_GET['start_date']));
Copier après la connexion

Considérations supplémentaires

Il est crucial de comprendre la cause première de ce type d'erreur. Chaque fois que vous rencontrez une telle erreur, vous devez d'abord rechercher la valeur du problème à l'aide de var_dump(). Cela vous aidera à déterminer les éléments suivants :

  • Si vous accédez à une variable ou une structure de données incorrecte.
  • Si la valeur peut être convertie dans un format numérique valide (par exemple, en utilisant strtotime()).
  • Si la source des données problématiques nécessite une validation ou des ajustements logiques.

Ne jamais recourir à convertir aveuglément la valeur du problème en un nombre, car cela masquerait le problème réel et conduirait potentiellement à des résultats incorrects.

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!

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