Php 查找匹配值的数组键

Php 查找匹配值的数组键,php,arrays,variables,matching,Php,Arrays,Variables,Matching,我尝试获取匹配值的数组键。 看起来是这样的: $someId = 2 $array[0][id] = "1"; $array[0][firstname] = "dude1"; $array[1][id] = "2"; $array[1][firstname] = "dude2"; $array[2][id] = "3"; $array[2][firstname] = "dude3"; 如何通过将变量“$someId=2”与数组中的唯一id($array[1][id])匹

我尝试获取匹配值的数组键。 看起来是这样的:

$someId = 2

$array[0][id]   = "1";
$array[0][firstname]  = "dude1";

$array[1][id]   = "2";
$array[1][firstname]  = "dude2";

$array[2][id]   = "3";
$array[2][firstname]  = "dude3";
如何通过将变量“$someId=2”与数组中的唯一id($array[1][id])匹配来获取数组键,例如“1”($array[1])


基本上:$someId==$array[x][id]>返回匹配的数组$array[x]。

一个简单的
foreach
就可以:

$someId = 2;

foreach($array as $person)
{
    if($person['id'] == $someId)
    {
        // found a match, do something with $person
        // ...
        break; // remove the break if you want to continue searching after a match
    }
}
如果您想要钥匙,请更改为

foreach($array as $key => $person)
数组_filter()保留关联性

$result = array_filter(
    $array,
    function ($item) use ($personId) {
        return ($item['id'] == $personId);
    }
);

var_dump(array_keys($result));