wellnumeric_解决A non well formed numeric value encountered
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相关推荐
- MyEclipse解决Launching xx on MyEclipse Tomcat has encountered a problem
单击工具栏Run,选中Run Configurations... 将MyEclipse Server Application里面的工程右击选择Delete就好了. 转载于:https://www.cn ...
- mysql numeric 空值_mysql数据库不能添加NULL值,该怎么解决 - numeric
...持许多种不同的数值型数据.你可以存储整数 INT .小数 NUMERIC.和钱数 MONEY.INT VS SMALLINT VS TINYINT 他们的区别只是字符长度: INT型数据的表数范 ...
- oracle中numeric是什么类型,numeric
地理探测器学习2021-04-08 21:57:27 一.为什么选择了地理探测器 (1)因变量Y和自变量x的两个空间分布的一致性也仅映了这两个变量的关联性,这种关联既包括线性部分,也包括非线性部分,可 ...
- 【laravel】开发过程中会遇到的问题
文章目录 访问器中循环使用 curl 请求第三方API ,导致ajax 响应状态为 canceled 1. The page has expired due to inactivity. Please ...
- 源码安装zabbix遇到的报错集锦
报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...
- PHP特性整合 php7特性
PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好. 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PH ...
- php7 新特性整理
PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好. 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PH ...
- 总结PHP 7新增加的特性
?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用.用法: $a = $_GET['a'] ?? 1;它相当于: <?PHP $a = isset($_GET['a'] ...
- 深入PHP内核之in_array
无意中看到一段代码 1.a.php <?php $y="12"; $x = array(); for($j=0;$j<50000;$j++){$x[]= "{ ...
- is_numeric函数的引起的一个BUG说起
为什么80%的码农都做不了架构师?>>> A.1 问题描述 在日常的工作中,我们会偶尔用到 is_numberic来判断一个字符串是否为数字类型的字符串,不过有时候会因为对这个 ...
最新文章
- 后端技术:IDEA构建maven项目生成的文件详解
- 将数据库表导入到solr索引
- oracle12537错误,ORA-12537:TNS:connection closed错误处理方法
- git base , 版本合并:git的分支与合并的两种方法 - 方法1:git merge
- 【OpenCV】OpenCV实战从入门到精通之 -- 离散傅里叶变换相关函数详解
- MySQL(2)--MYSQL 安装
- 修改flexorm支持字段大小
- Crontab使用心得
- icinga+cacti整合
- 【centos】安装wget------转发自【小姜dot】
- 任务调度系统就该这么设计(万能通用),稳的一批!
- 兴趣题:猴子吃桃问题
- 谷歌浏览器翻译英文网页功能消失解决方案
- 教你如何购买笔记本电池
- Ubuntu18.04 MySQL+hive安装
- NodeMCU学习(二)--NodeMCU介绍及使用(一)
- [架构] 架构师的职责
- 内存测试工具memtester使用详解
- oracle的cte,oracle CTE 简介 | 学步园
- 关于考研备考心得分享
热门文章
- linux挂科补考试题,大学生挂科补考申请书范文
- injected stylesheet 谷歌扩展插件,造成样式异常
- java 处理word文档-POI包
- C++: 评估概率密度函数 (PDF) 和累积密度函数 (CDF)与超几何分布相关(附完整源码)
- Hadoop大数据技术教程( wukong-1.0v)
- 国际大酒店智能停车场系统案例分析
- (二十五:2020.12.15)CVPR 2020 学习(三)《U^2 Net》训练实操(21.1.4更新)
- 关键字排名优化—百度推广
- 《NLTK基础教程》读书笔记 004期
- 【UnityEditor】创建并保存 Texture图片、Mesh网格