防止MySQL PDO将数字作为字符串返回

use*_*531 15 php mysql pdo

我正在使用PHP的PDO来查询MySQL数据库.它将数字和整数作为字符串返回,并且正在弄乱我的JSON.

除了逐行输入值之外,还有更好的方法来修复它吗?

array(2) { 
  ["name"]=> string(11) "Preliminary" 
  ["sell_price"]=> string(6) "864.00"
} 
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 8

如果您使用的是php 5.3.3或更高版本,则可以使用JSON_NUMERIC_CHECK第二个参数json_encode来执行此操作.

请参阅:http://us3.php.net/manual/en/function.json-encode.php

  • 这里的所有答案都是难看的黑客.有关正确的解决方案,请参阅[此答案](http://stackoverflow.com/a/20123337/229792). (5认同)
  • 好答案.谢谢.请注意此警告,该警告描述了如何将"+33123456789"等电话号码转换为整数.http://us3.php.net/manual/en/function.json-encode.php#106641 (3认同)