我有这个多维数组,我需要更新一个值。最好的方法是什么?我用2个foreach循环尝试了它,但不确定这是否是正确的方法。
这是有问题的数组。我需要更新每个子数组的美元金额(即加3)。
array(6) { ["Ground"]=> array(2) { [0]=> string(3) "USD" [1]=> string(5) "13.63" }
["3 Day Select"]=> array(2) { [0]=> string(3) "USD" [1]=> string(5) "25.26" }
["2nd Day Air"]=> array(2) { [0]=> string(3) "USD" [1]=> string(5) "32.43" }
["Next Day Air Saver"]=> array(2) { [0]=> string(3) "USD" [1]=> string(5) "63.00" }
["Next Day Air"]=> array(2) { [0]=> string(3) "USD" [1]=> string(5) "68.65" }
["Next Day Air Early AM"]=> array(2) { [0]=> string(3) "USD" [1]=> string(6) "103.68" } }
答案 0 :(得分:0)
你的foreach循环方法是正确的,除非你期望数据格式改变,例如拥有更多嵌套级别。如果是这种情况,那么递归函数最适合。
此外,如果预计数据保持一致,您可以这样做:
foreach( $my_array as $index => $row ){
$my_array[$index][1] += 3;
}
喝彩!
答案 1 :(得分:0)
foreach ($arr as $k=>$row) {
$arr[$k][1] = floatval($row[1]) + 3;
}
答案 2 :(得分:0)
试试这个:
<?php
foreach($first_array as $first_dem_key)
$first_array[$first_dem_key][1] = $first_array[$first_dem_key][1] + 3;
?>
答案 3 :(得分:0)
foreach ($array as &$subarray) {
foreach ($subarray as $key=>&$value) {
// do whatever you want with $value
// ...
$value = 'something else'; // example
}
}