微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – echo json_encode($return_data,JSON_NUMERIC_CHECK);数字中的字符’e’不起作用

我的数据库中有一行有联系人表,其字符变化列为电话,值为3162e6313358

$return_data = array('phone' => $contact_phone);
echo json_encode($return_data,JSON_NUMERIC_CHECK);

这段代码没有给我任何输出.
搜索了这个人提供的解决方案,如(‘phone’=>’“.$contact_phone.”’)
这是有效的.
我不想为每个数组元素进行类型转换
但我需要通用解决方案.

谢谢.

解决方法

选项1(最好的)

>一旦从用户输入($_GET [],$_POST [])或从数据库获取数字值,就将数值(ID,计数,数字状态代码,布尔值a.s.o.)转换为数字.当从用户输入中提取它们时,转换应该是数据验证的一部分.
>将电话号码保持为字符串;它们不是数字,毕竟它们只是数字串,在中间或末尾有或没有起始零和非数字字符.还要保留字符串其他值看起来是数字但实际上不是数字:例如信用卡号.
>从调用json_encode()删除JSON_NUMERIC_CHECK参数;如果你在上面实现#1,你不再需要它了.

选项2(解决方法)

数据库获取电话号码时,请在电话号码后附加空格字符(”).当它显示在网页中时,它将没有太大的区别(如果有的话).

json_encode()不会再认为它是浮点数,即使它以0开头也不是.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐