Maison  >  Article  >  développement back-end  >  Expliquer les causes et les solutions à l'avertissement : problème rencontré avec une valeur non numérique en PHP.

Expliquer les causes et les solutions à l'avertissement : problème rencontré avec une valeur non numérique en PHP.

jacklove
jackloveoriginal
2018-06-08 15:50:238387parcourir

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(&#39;display_errors&#39;, &#39;on&#39;);$a = &#39;123a&#39;;$b = &#39;b456&#39;;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 (+ - * / ** % 10e3fdaca48eb0367c6d60dbc98f885d> | & ^) 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. 6d267e5fab17ea8bc578f9e7e5e1570b> | & ^) 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

(+ - * / ** % 10e3fdaca48eb0367c6d60dbc98f885d> | & ^)

, 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(&#39;display_errors&#39;, &#39;on&#39;);$a = &#39;123a&#39;;$b = &#39;b456&#39;;echo intval($a)+intval($b);?>
intval

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ées


Expliquez comment utiliser MySQL Binlog

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