我的数据库中有一行有联系人表,其字符变化列为电话,值为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开头也不是.