A non well formed numeric value encountered

PHP message: PHP Notice: A non well formed numeric value encountered……,格式错误的数值。

从PHP5切到PHP72后报如上错误,官方文档对这种错误的解释:New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers (+ - * / ** % << >> | & ^) or their assignment equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric value.

====>

在使用(+ - * / ** % << >> | & ^) 运算时,例如a+b,如果a是开始一个数字值,但包含非数字字符(123a),b不是数字值开始时(b456),就会有A non-numeric value encountered警告。

解决方法

对于这种问题,首先应该在代码逻辑查看,为何会出现混合数值,检查哪里出错导致出现混合数值。我检查了我的表达式确实出现了+操作符。

对于(+ - * / ** % << >> | & ^) 的运算,我们也可以加入转换类型方法,把错误的数值转换。下面摘抄网上一段示例,逻辑是一样的。

error_reporting(E_ALL);

ini_set('display_errors', 'on');

$a = '123a';

$b = 'b456';

echo intval($a)+intval($b);

?>

1

2

3

4

5

6

7

8

9<?php

error_reporting(E_ALL);

ini_set('display_errors','on');

$a='123a';

$b='b456';

echointval($a)+intval($b);

?>

把你的未知数据类型,或可能存在不确定类型的值进行类型转换就行。加入intval方法进行强制转为数值型后,可以解决警告提示问题。如果是字符串连接的话把+改成.也可以。可能出现的数据类型要根据你实际情况定义。

如果你的类型不能确定,或本身场景要求不能强类型(这逻辑本身就是伪逻辑),那么你可以屏蔽屏蔽警告信息:

ini_set("error_reporting","E_ALL & ~E_NOTICE");

1ini_set("error_reporting","E_ALL & ~E_NOTICE");

wellnumeric_解决A non well formed numeric value encountered相关推荐

  1. MyEclipse解决Launching xx on MyEclipse Tomcat has encountered a problem

    单击工具栏Run,选中Run Configurations... 将MyEclipse Server Application里面的工程右击选择Delete就好了. 转载于:https://www.cn ...

  2. mysql numeric 空值_mysql数据库不能添加NULL值,该怎么解决 - numeric

    ...持许多种不同的数值型数据.你可以存储整数 INT .小数 NUMERIC.和钱数 MONEY.INT VS SMALLINT VS TINYINT 他们的区别只是字符长度: INT型数据的表数范 ...

  3. oracle中numeric是什么类型,numeric

    地理探测器学习2021-04-08 21:57:27 一.为什么选择了地理探测器 (1)因变量Y和自变量x的两个空间分布的一致性也仅映了这两个变量的关联性,这种关联既包括线性部分,也包括非线性部分,可 ...

  4. 【laravel】开发过程中会遇到的问题

    文章目录 访问器中循环使用 curl 请求第三方API ,导致ajax 响应状态为 canceled 1. The page has expired due to inactivity. Please ...

  5. 源码安装zabbix遇到的报错集锦

    报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...

  6. PHP特性整合 php7特性

    PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好.  在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PH ...

  7. php7 新特性整理

    PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好.  在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PH ...

  8. 总结PHP 7新增加的特性

    ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用.用法: $a = $_GET['a'] ?? 1;它相当于: <?PHP $a = isset($_GET['a'] ...

  9. 深入PHP内核之in_array

    无意中看到一段代码 1.a.php <?php $y="12"; $x = array(); for($j=0;$j<50000;$j++){$x[]= "{ ...

  10. is_numeric函数的引起的一个BUG说起

    为什么80%的码农都做不了架构师?>>>    A.1 问题描述 在日常的工作中,我们会偶尔用到 is_numberic来判断一个字符串是否为数字类型的字符串,不过有时候会因为对这个 ...

最新文章

  1. 后端技术:IDEA构建maven项目生成的文件详解
  2. 将数据库表导入到solr索引
  3. oracle12537错误,ORA-12537:TNS:connection closed错误处理方法
  4. git base , 版本合并:git的分支与合并的两种方法 - 方法1:git merge
  5. 【OpenCV】OpenCV实战从入门到精通之 -- 离散傅里叶变换相关函数详解
  6. MySQL(2)--MYSQL 安装
  7. 修改flexorm支持字段大小
  8. Crontab使用心得
  9. icinga+cacti整合
  10. 【centos】安装wget------转发自【小姜dot】
  11. 任务调度系统就该这么设计(万能通用),稳的一批!
  12. 兴趣题:猴子吃桃问题
  13. 谷歌浏览器翻译英文网页功能消失解决方案
  14. 教你如何购买笔记本电池
  15. Ubuntu18.04 MySQL+hive安装
  16. NodeMCU学习(二)--NodeMCU介绍及使用(一)
  17. [架构] 架构师的职责
  18. 内存测试工具memtester使用详解
  19. oracle的cte,oracle CTE 简介 | 学步园
  20. 关于考研备考心得分享

热门文章

  1. linux挂科补考试题,大学生挂科补考申请书范文
  2. injected stylesheet 谷歌扩展插件,造成样式异常
  3. java 处理word文档-POI包
  4. C++: 评估概率密度函数 (PDF) 和累积密度函数 (CDF)与超几何分布相关(附完整源码)
  5. Hadoop大数据技术教程( wukong-1.0v)
  6. 国际大酒店智能停车场系统案例分析
  7. (二十五:2020.12.15)CVPR 2020 学习(三)《U^2 Net》训练实操(21.1.4更新)
  8. 关键字排名优化—百度推广
  9. 《NLTK基础教程》读书笔记 004期
  10. 【UnityEditor】创建并保存 Texture图片、Mesh网格