如何在 PHP 中将字符串数组转换为浮点数

问题描述 投票:0回答:1

我从我的 SQLite 数据库中选择一些字符串并将它们存储在数组中。现在我想用框架“Razorflow”绘制值。我认为只有当数组的值是浮点数时才有可能,我错了吗?

在我的数据库中,我以这种形式存储 12 个不同传感器节点的温度和湿度:

id|temperature|humidity|...|...

1 |     22.50C|  47.50%|...|...
..

我听说过一些关于

floatval()
函数的事情,我还听说这个函数不是为像数组这样的对象而设计的。有一个简单的解决方案吗?我对 PHP 很陌生:-D

php string frameworks
1个回答
1
投票

取决于您如何从数据库获取值。

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)

现在您有一个仅包含浮点值的数组(可能有错误,请检查您的数据!)

© www.soinside.com 2019 - 2024. All rights reserved.