PHP - 根据另一个参数的值获取多维数组值

jen*_*vdp 2 php arrays multidimensional-array

想象一下我有这个数组:

Array
(
    [0] => Array
        (
            [email] => a@a.com
            [name] => a
        )

    [1] => Array
        (
            [email] => b@b.com
            [name] => b
        )
)
Run Code Online (Sandbox Code Playgroud)

我使用此代码来检查我的电子邮件是否存在于这个多数组中:

in_array($user->user_email, array_column($array, 'email'))
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是:如何获取参数“name”的值,其中电子邮件与我的变量匹配。因此,如果我的 $user->user_email 等于“a@a.com”,我需要名称值,即“a”。在php中可以吗?

Utk*_*nos 6

尝试这个:

$index = array_search($user->user_email, array_column($array, 'email'));
if ($index !== false) $name = $array[$index]['name'];
Run Code Online (Sandbox Code Playgroud)

我相信,这依赖于这样一个事实:创建的array_column运行时数组保留了提取项目的顺序。因此,从此数组读取的索引可用于引用原始数组。