我的数据库中的一行有联系人表,其字符变化列为电话,值为3162e6313358
$return_data = array('phone' => $contact_phone);
echo json_encode($return_data, JSON_NUMERIC_CHECK);
这段代码没有给我任何输出。 我搜索过这个人提供的解决方案(' phone' =>'"。$ contact_phone。"') 这是有效的。 我不想为每个数组元素进行类型转换 但我需要通用的解决方案。
感谢。
答案 0 :(得分:1)
一旦从用户输入($_GET[]
,$_POST[]
)或从数据库获取数字,就将数值(ID,计数,数字状态代码,布尔值a.s.o.)转换为数字。当从用户输入中提取它们时,转换应该是数据验证的一部分。
保持电话"数字"作为字符串;它们不是数字,毕竟它们只是数字串,在中间或末尾有或没有起始零和非数字字符。还要保留字符串其他值看起来是数字但实际上不是数字:例如信用卡号。
从JSON_NUMERIC_CHECK
的调用中删除json_encode()
参数;如果您在上面实施#1,则不再需要它。
从数据库中获取电话号码时,在电话号码中附加空格字符(' '
)。当它显示在网页中时,它不会产生太大的影响(如果有的话)。
json_encode()
不再相信它是一个浮点数,即使它以+
或0
开头也是如此。