更新php多维数组并重新保存到db

时间:2014-08-07 13:24:11

标签: php arrays

我的数组有以下结构,它是动态生成的:

Array
(
    [0] => Array
        (
            [friend_request_sender_id] => 1
            [friend_request_date] => 07-08-2014
            [friend_request_time] => 11:12:19
            [friend_request_recipient_id] => 5
            [friend_request_sent] => 1
            [friend_request_accepted] => 0
        )

    [1] => Array
        (
            [friend_request_sender_id] => 1
            [friend_request_date] => 07-08-2014
            [friend_request_time] => 11:12:47
            [friend_request_recipient_id] => 2
            [friend_request_sent] => 1
            [friend_request_accepted] => 0
        )

)

我想将第一个数组值[friend_request_accepted] => 0更新为:[friend_request_accepted] => 1我已通过执行以下操作来实现:

$test = get_user_meta($current_user->ID,'get_user_friends', true );

    foreach($test as &$values){
    if($values['friend_request_recipient_id'] === '5'){
        $values['friend_request_accepted'] = '1';
        break; // Stop the loop after we've found the item
    }
}

但是,我想将这个新值保存到数据库中,覆盖现有值。然后该数组应如下所示:

Array
    (
        [0] => Array
            (
                [friend_request_sender_id] => 1
                [friend_request_date] => 07-08-2014
                [friend_request_time] => 11:12:19
                [friend_request_recipient_id] => 5
                [friend_request_sent] => 1
                [friend_request_accepted] => 1
            )

        [1] => Array
            (
                [friend_request_sender_id] => 1
                [friend_request_date] => 07-08-2014
                [friend_request_time] => 11:12:47
                [friend_request_recipient_id] => 2
                [friend_request_sent] => 1
                [friend_request_accepted] => 0
            )

    )

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这条线不起作用:

if($values['friend_request_recipient_id'] === '5'){
        $values['friend_request_accepted'] = '1';
        break; // Stop the loop after we've found the item
}

因为

[friend_request_recipient_id] => 5

是一个整数我认为你需要确定条件,因为' ==='还检查了变量的类型。