diff --git a/src/Illuminate/Collections/Enumerable.php b/src/Illuminate/Collections/Enumerable.php index 49dcb38ae1c6..8ae296bd6982 100644 --- a/src/Illuminate/Collections/Enumerable.php +++ b/src/Illuminate/Collections/Enumerable.php @@ -259,7 +259,7 @@ public function duplicatesStrict($callback = null); /** * Execute a callback over each item. * - * @param callable(TValue): mixed $callback + * @param callable(TValue, TKey): mixed $callback * @return $this */ public function each(callable $callback); diff --git a/src/Illuminate/Collections/Traits/EnumeratesValues.php b/src/Illuminate/Collections/Traits/EnumeratesValues.php index d9237f6fb302..b328e79251bb 100644 --- a/src/Illuminate/Collections/Traits/EnumeratesValues.php +++ b/src/Illuminate/Collections/Traits/EnumeratesValues.php @@ -252,7 +252,7 @@ public function dump() /** * Execute a callback over each item. * - * @param callable(TValue): mixed $callback + * @param callable(TValue, TKey): mixed $callback * @return $this */ public function each(callable $callback) diff --git a/types/Support/Collection.php b/types/Support/Collection.php index 621f543e3eec..4e09d4197180 100644 --- a/types/Support/Collection.php +++ b/types/Support/Collection.php @@ -189,6 +189,10 @@ assertType('Illuminate\Support\Collection', $collection->each(function ($user) { assertType('User', $user); })); +assertType('Illuminate\Support\Collection', $collection->each(function ($user, $int) { + assertType('int', $int); + assertType('User', $user); +})); assertType('Illuminate\Support\Collection', $collection::make([['string']]) ->eachSpread(function ($int, $string) {