在以下场景中,如何检查内部数组中某个值的存在并从相同的内部数组中获取其他值


How to check presence of a certain value in inner array and fetch some other value from the same inner array in following scenario?

我有以下标题为$requests的关联数组:

注意:下面是语句print_r($requests);

的输出
Array
(
    [0] => Array
        (
            [request_id] => 33
            [is_seen] => 1
            [message] => 
            [friend_user_id] => 901
        )
    [1] => Array
        (
            [request_id] => 23
            [is_seen] => 1
            [message] => 
            [friend_user_id] => 970
        )
)

现在我想要实现的是,我将在变量$friend_user_id中获取user的值。现在我必须解析上面的数组,以检查是否有任何内部数组在标题为['friend_user_id']的键中获得与$friend_user_id相同的值。如果找到匹配,则从相同的内部数组中获取键['request_id']的值,如果没有找到匹配,则不返回任何值。

例如,变量$friend_user_id包含值901那么它应该返回给我33(各自的request_id)

我应该如何以高效、优化和可靠的方式实现这一目标?

一个简单的foreachin_array就可以做到

$friend_user_id = 901;
foreach($arr as $key => $value){
    if(in_array($friend_user_id,$value)){
        $request_id = $value['request_id'];
    }
}
echo $request_id;

小提琴