Cet article présente le problème Avertissement : Une valeur non numérique rencontrée en PHP. Il utilise des exemples pour analyser les raisons de cette erreur et fournit des méthodes pour éviter et résoudre le problème.
<?phperror_reporting(E_ALL); ini_set('display_errors', 'on');$a = '123a';$b = 'b456';echo $a+$b;?>
Une fois le code ci-dessus exécuté, il affichera Avertissement : une valeur non numérique rencontrée
Consultez la documentation officielle de PHP7.1 pour cette erreur Explication
De nouvelles erreurs E_WARNING et E_NOTICE ont été introduites lorsque des chaînes non valides sont forcées à l'aide d'opérateurs attendant des nombres (+ - * / ** % << >> | & ^) ou leurs équivalents d'affectation. Un E_NOTICE est émis lorsque la chaîne commence par une valeur numérique mais contient des caractères non numériques de fin, et un E_WARNING est émis lorsque la chaîne ne contient pas de valeur numérique. < >> | & ^) Lors d'une opération, telle que a+b, si a démarre une valeur numérique mais contient des caractères non numériques (123a), b ne démarre pas une valeur numérique (b456), il y aura un avertissement Une valeur non numérique rencontrée.
SolutionPour ce genre de problème, vous devez d'abord vérifier la logique du code pour voir pourquoi des valeurs mixtes apparaissent, et vérifiez où l'erreur s'est produite, ce qui entraîne des valeurs mixtes.
Pour le fonctionnement de
(+ - * / ** % << >> | & ^), on peut également ajouter une méthode de type de conversion pour convertir la mauvaise valeur .
Ajoutez la méthode<?phperror_reporting(E_ALL); ini_set('display_errors', 'on');$a = '123a';$b = 'b456';echo intval($a)+intval($b);?>
pour forcer la conversion en type numérique, ce qui peut résoudre le problème d'avertissement. Cet article explique les raisons et les solutions de l'avertissement : une valeur non numérique rencontrée en PHP. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois.
Recommandations associées :
Comment utiliser MySQL pour exécuter SQL dans le terminal et écrire les résultats dans un fichier Comparez via les méthodes MySQL pour deux structures de tables de base de donnéesExpliquez comment utiliser MySQL BinlogCe 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!