0

一致する値の配列キーを取得しようとしています。それはそのように見えます:

$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]を返します。

4

2 に答える 2

2

簡単な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)
于 2013-01-15T17:07:35.777 に答える
0

array_filter()は結合性を保持します

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

var_dump(array_keys($result));
于 2013-01-15T17:14:31.240 に答える