为了绘制我的图表,我需要有2个浮点阵列,
我的问题是如何将数据类型更改为字符串(MySQL)并将其用作PHP中的float数组。 另外,我应该如何定义第二个数组?我应该将其更改为字符串,然后使用反序列化吗?
这只是打印1
$data = array();
$data['cols'] = array(
array('id' => 'Signal','label' => 'Signal', 'type' => 'string'));
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$temp = array();
$temp[] = array('v' => $r['Signal']);
$res = array_map("floatval", $temp);
var_dump($res);}
echo var_dump($res);
答案 0 :(得分:0)
您可以使用floatval()和array_map()的组合将字符串数组解析为float数组。
一个简单的测试示例:
$input_array = Array("1.1234", "3.123", "2.23E3", "2.23E-3");
$result = array_map("floatval", $input_array);
var_dump($input_array);
var_dump($result);
打印:
array(4) {
[0]=> string(6) "1.1234"
[1]=> string(5) "3.123"
[2]=> string(6) "2.23E3"
[3]=> string(7) "2.23E-3"
}
array(4) {
[0]=> float(1.1234)
[1]=> float(3.123)
[2]=> float(2230)
[3]=> float(0.00223)
}
P.S。:如果你的数据库结果比一个浮点值字符串的平面数组更结构化,你可能需要做的不仅仅是映射它。提供更多信息,了解您拥有的内容以及您希望获得的更多详细帮助。
至于你的第二个数组,我担心你不能将数组标记为常数。 Here是一个相关问题。你可以上课和autosetters,但我不确定这种复杂性是否适合你的要求。