我从我的数据库中获取一个浮点数组,但我得到的数组已将值转换为字符串.
如何在不通过数组循环的情况下将它们再次转换为浮点数?
或者,如何从数据库中获取值而不将其转换为字符串?
我正在使用Zend Framework,我正在使用PDO_mysql.每列存储一个值,这是一个要求,所以我不能序列化它们.
array_map('floatval', $array) 仅适用于单维数组.
我floatval使用它时不能使用单个元素,因为我必须将数组传递给我的flash图表.
暂时的非通用解决方案是提取行并对array_map('floatval',$array)每行进行操作.
Gre*_*reg 25
你可以用
$floats = array_map('floatval', $nonFloats);
Run Code Online (Sandbox Code Playgroud)
有选择,PDO::ATTR_STRINGIFY_FETCHES但从我记忆中,MySQL始终如此true
编辑:请参阅错误44341,确认MySQL不支持关闭stringify.
编辑:您还可以映射这样的自定义函数:
function toFloats($array)
{
return array_map('floatval', $array);
}
$data = array_map('toFloats', $my2DArray);
Run Code Online (Sandbox Code Playgroud)