搜索并替换数组php中的键的值

时间:2012-08-27 22:22:41

标签: php arrays search replace

我有这样的数组:

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之外,还有更好的方法吗?

2 个答案:

答案 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分配给输出?