Я подозреваю, что есть более чистый способ сделать это, но это лучшее, что я мог придумать в данный момент. Вы также можете использовать map
или transform
для выполнения сравнения значения ключа, которое отправляется их замыканиям, но в конечном итоге вы будете циклически проходить по всем элементам массива, несмотря на то, что вы знаете конкретный объект, на который хотите нацелиться.
$collection = collect([
[
'id' => 83,
'status' => 'offline',
'created_date' => 'Oct 31, 2018'
]
]);
$firstKey = $collection->keys()->first(); //This avoids the unreliable assumption that your index is necessarily numeric.
$firstElement = $collection->first();
$modifiedElement = array_merge($firstElement, ['foo1' => 1]);
$collection->put($firstKey, $modifiedElement);