在以下情况下,如何检查内部数组中是否存在某个值并从同一内部数组中获取其他值?

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。现在我必须解析上面的数组,以检查是否有任何内部数组在标题为 ['friend_user_id'] 的键中具有与 $friend_user_id 相同的值。如果找到匹配项,则应从同一内部数组中获取键 ['request_id'] 的值,如果未找到匹配项,则应 return 无。

例如,变量 $friend_user_id 包含值 901 那么它应该 return 我 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;

Fiddle