Laravel - Collections - Method Mapwithkeys

The mapWithKeys method iterates through the collection and passes each value to the given callback. The callback should return an associative array containing a single key / value pair:

    
    $collection = collect([
        [
            'name' => 'John',
            'department' => 'Sales',
            'email' => '[email protected]',
        ],
        [
            'name' => 'Jane',
            'department' => 'Marketing',
            'email' => '[email protected]',
        ]
    ]);
    
    $keyed = $collection->mapWithKeys(function ($item, $key) {
        return [$item['email'] => $item['name']];
    });
    
    $keyed->all();
    
    /*
        [
            '[email protected]' => 'John',
            '[email protected]' => 'Jane',
        ]
    */