我的阵列很大。这是我数组的一个示例部分:
13 => [
'Discount' => '0.00'
'Total amount' => '50,00'
'Total Net' => '40,00'
]
14 => [
'Discount' => '0.00'
'Total amount' => '20,00'
'Total Net' => '16,00'
]
我需要将数字中的逗号转换为点。例如,'50,00'
必须成为'50.00'
。什么是简单的方法?
注意:我尝试了$myArray = str_replace(',', ".", $dataArray);
,但这不起作用。
答案 0 :(得分:1)
您必须遍历array
值的
foreach ($array as $key => $string) {
$array[$key] = str_replace(',', '.', $string);
}
答案 1 :(得分:1)
由于它是多维数组,因此需要循环嵌套嵌套子数组和值,以供参考。
或者将子数组作为str_replace中的输入。 (u_mulder)
foreach($arr as &$val){
$val = str_replace(",",".", $val);
}
var_dump($arr);
在替换之前,您还可以添加检查以查看值中是否包含逗号。
不确定是否会更快或更慢。
...
if(strpos($val, ",") !== false) $val = str_replace(",",".", $val);
...
答案 2 :(得分:1)
希望这对您有帮助
array_walk_recursive(
$myarray,
function (&$value) {
$value = str_replace(',', '.', $value);
}
);