Массив PHP уменьшается до субмассива

У меня есть массив типа этого

$users = array(
    [0] => array('Id' => 3, 'Name' => 'Bob'),
    [1] => array('Id' => 8, 'Name' => 'Alice'),
)

и я хочу вытащить Ids 'вверх' на один уровень так, чтобы конечный массив был:

$usersById = array(
    [3] => array('Id' => 3, 'Name' => 'Bob'),
    [8] => array('Id' => 8, 'Name' => 'Alice'),
)

Значения Id уникальны.

Есть ли нативный PHP способ сделать это? Код, который я сейчас использую:

$usersById = array();
foreach ($users as $key => $value)
{
    $usersById[$value['Id']] = $value;
}

Это работает, но не очень элегантно. Спасибо!

6
задан Harper 17 September 2011 в 18:16
поделиться