我有这样的数组:
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_ids。
除了循环/array_walk,还有其他更好的方法吗?
别这么认为。
$arr = array_map(function ($val) use ($user_id) {
if (empty($val['user_id'])) {
$val['user_id'] = $user_id;
}
return $val;
}, $arr);
我当然假设你有PHP 5.3+
您需要循环的任何方式。由于不清楚数组的大小/数组将如何排序,因此没有太多方法可以在不遍历的情况下分配值。
跳出框框思考。通常,数组将在脚本中的某个位置使用,并且会有代码访问数组中的值。访问数组时,是否有机会将所需的user_id分配给输出?