我有这样的数组:
array(
[0] => Array
(
[q_id] => 314
[answer_type] => RI
[answer] => 3438
[user_id] =>
)
[1] => Array
(
[q_id] => 286
[answer_type] => NM
[answer] => 5
[user_id] =>
)
[2] => Array
(
[q_id] => 207
[answer_type] => SS
[answer] => 1
[user_id] => 1
)
)
对于所有具有user_id值或空值的问题,预计它具有相同的user_id。 我想用现有的user_id替换空的user_id。
除了循环/ array_walk之外,还有更好的方法吗?
答案 0 :(得分:1)
不要这么认为。
$arr = array_map(function ($val) use ($user_id) {
if (empty($val['user_id'])) {
$val['user_id'] = $user_id;
}
return $val;
}, $arr);
我当然假设你有PHP 5.3 +
答案 1 :(得分:0)
无论如何你需要循环。由于目前尚不清楚数组有多大/如何对数组进行排序,因此没有多少方法可以在不通过它们的情况下分配数值。
在盒子外面思考。通常,数组将在脚本中的某处使用,并且将有代码来访问数组内的值。在访问阵列时,是否有机会将所需的user_id分配给输出?