php,如何处理内部带有浮点数的数组?
例如: 以下是正确的吗php,如何处理内部带有浮点数的数组?,php,arrays,floating-point,Php,Arrays,Floating Point,例如: 以下是正确的吗 $var = floatval($arr[2]) ; “您不能在数组上使用floatval()。”这可能是一个旧指令,或者是如何编辑…?您需要遍历数组并对每个元素执行操作: foreach($arr as $id=>$elem){ $arr[$id]=floatval($elem); } 手册中的引用(顺便说一句,当前手册中似乎不再存在该引用)仅表示不能对数组值使用floatval,即: $foo = array(); $bar = floatval($fo
$var = floatval($arr[2]) ;
“您不能在数组上使用floatval()。”这可能是一个旧指令,或者是如何编辑…?您需要遍历数组并对每个元素执行操作:
foreach($arr as $id=>$elem){
$arr[$id]=floatval($elem);
}
手册中的引用(顺便说一句,当前手册中似乎不再存在该引用)仅表示不能对数组值使用
floatval
,即:
$foo = array();
$bar = floatval($foo);
顺便说一句,这并不完全正确,因为它会产生1.0
或0.0
,这取决于数组是否为空。*这没有多大意义。如果访问数组中的标量值,则不会在数组上使用“floatval
”。也就是说,这种方法非常有效:
$foo = array("42.1231");
$bar = floatval($foo[0]);
这使用的是$foo[0]
中的标量值,无论它是否在数组中都是无关的
*手册现在清楚地显示了空数组返回0,非空数组返回1。可能此行为已更改?
$arr=explode(“;”,$line)代码>是一个csv文件的解析…你能显示var\u dump($arr)的输出吗
要解析CSV,应使用fgetcsv
。(这与这个问题无关。)“你不能在数组上使用floatval()”,这不是一个输出错误,我在手册上读过它…但我不知道它是否旧…我问了,因为整个脚本在添加百分比增量时有一个奇怪的行为,最终结果是,数组自然不会转换为任何有意义的浮点值,因此手册中会出现警告。如果上面没有给出错误,那么这个问题是毫无根据的。它与floatval($arr[2])
之间没有根本区别。