Let's say I have the following array
[
        {
            "id": "16",
            "name": "dog",
        },
        {
            "id": "17",
            "name": "cat",
        },
        {
            "id": "18",
            "name": "mouse",
        }
]
I want to use a specific attribute, id as the key for the array. I could do this:
$someArray = [
    ["id" => "16", "name" => "dog"],
    ["id" => "17", "name" => "cat"],
    ["id" => "18", "name" => "mouse"]
];
$newArray = [];
foreach ($someArray as $currItem)
{
    $newArray[$currItem["id"]] = $currItem;
}
Then I would have this (the desired outcome)
{
    "16": {
        "id": "16",
        "name": "dog"
    },
    "17": {
        "id": "17",
        "name": "cat"
    },
    "18": {
        "id": "18",
        "name": "mouse"
    }
}
My question is: is there a better way to do this? Do I really have to loop through every item just to redefine my array ever so slightly?