我有$data
数组
Array
(
[0] => Array
(
[match_day] => MD27
[price] => 95.33
)
[1] => Array
(
[match_day] => MD28
[price] => 97.82
)
[2] => Array
(
[match_day] => MD29
[price] =>
)
[3] => Array
(
[match_day] => MD30
[price] =>
)
[4] => Array
(
[match_day] => MD31
[price] =>
)
)
现在,我的要求是 - 将price属性的空条目替换为之前的price属性。
答案 0 :(得分:2)
无需转到for loop
您可以尝试以下代码:
$result = [];
array_walk($data, function($v,$k) use (&$result){
$result[$k] = $v;
if(!isset($result[$k]['price']) || $result[$k]['price'] == null){
$result[$k]['price'] = $result[$k - 1]['price'];
}
});
print_r($result);
工作演示是Here
答案 1 :(得分:0)
对阵列执行foreach循环,存储以前的价格值,如果当前项目有空价格,请使用previous替换它。例如:
$previous = 0;
foreach($data AS $key => $row) {
if (empty($row['price']))
$data[$key]['price'] = $previous;
else
$previous = $row['price'];
}