我正在从MySQL表中检索数据。这些数据是字符串值,我宁愿使用浮点数字。下面是我在做什么:是否有可能在PHP中更改数组值的类型?
$array_duracao = $con->prepare("SELECT SUM(dt)/0.01666667 AS mysum FROM afunda_eleva");
$array_duracao->execute();
$result3 = $array_duracao->fetch(PDO::FETCH_NUM);
$duracao_afunda_eleva[] = $result3;
for($i=0;$i<sizeof($duracao_afunda_eleva);$i++)
{
$duracao_afunda_eleva1[]=settype($duracao_afunda_eleva[$i],"float");
}
当我打电话var_dump($duracao_afunda_eleva1)
,它显示以下内容:
array(3) {
[0]=> float(1)
[1]=> float(1)
[2]=> float(1)
}
当我打电话var_dump($duracao_afunda_eleva)
,它会显示这样的:
array(3) {
[0]=> array(1) {
[0]=> string(9) "3.6599993"
}
[1]=> array(1) {
[0]=> string(9) "7.0199986"
}
[2]=> array(1) {
[0]=> string(9) "1.3799997"
}
}
如何我可以将字符串的数组值更改为浮点数吗?
阅读settype'的'文档,尤其是'返回值'部分。 – Barmar
尝试从'$ duracao_afunda_eleva [$ i]':'$ duracao_afunda_eleva1 [] = settype($ duracao_afunda_eleva [$ i] [0],“float”);' –
访问'0'数组键'在PHP中强制类型。当您在数学表达式中使用它们时,它会自动将字符串转换为数字。如果它有一个小数点,它会将它们转换为浮点数。 – Barmar