我从我的 SQLite 数据库中选择一些字符串并将它们存储在数组中。现在我想用框架“Razorflow”绘制值。我认为只有当数组的值是浮点数时才有可能,我错了吗?
在我的数据库中,我以这种形式存储 12 个不同传感器节点的温度和湿度:
id|temperature|humidity|...|...
1 | 22.50C| 47.50%|...|...
..
我听说过一些关于
floatval()
函数的事情,我还听说这个函数不是为像数组这样的对象而设计的。有一个简单的解决方案吗?我对 PHP 很陌生:-D
取决于您如何从数据库获取值。
id|temperature|humidity|...|...
对我来说听起来像一个字符串,所以我首先将它分解到一个数组中,然后迭代数组将floatval投射到每个元素中。
这个过程之后你做什么取决于你自己。
编辑:
如果您的查询是:
$humi = $database->query((SELECT humidity FROM Measurement WHERE topic_hum='WSN9/humi'
您将仅返回 1 列(湿度)和 0 或更多行,具体取决于您的数据库。假设现在只有 1:
$resul = mysql_query($humi,$link);
$rows = mysql_fetch_array($resul);
$myarray = explode("|", $rows["humidity"]);
这应该给我们一个名为
myarray
的数组,其中包含 X 个元素,每个元素都有一个“单个”字符串部分值。所以我们可以迭代它并解析它。还有简写“array_map”,可以使用每个元素上的回调函数来迭代数组,并将值作为数组返回:
$myparsedarray = array_map('floatval', $myarray)
现在您有一个仅包含浮点值的数组(可能有错误,请检查您的数据!)