Как сохранить значения за пределами Laravel каждого цикла - PullRequest
0 голосов
/ 18 июня 2020

Я не совсем понимаю Laravel Коллекции. Мне нужно знать, как сохранять внешние значения во время итерации по коллекции Lavavel, используя each (function (n) {})

Например:

static public myFunction($laravelCollection) ={
   $arr=[];
    $laravelCollection->each(function($a){
    $arr[]=$a
   });
   return $arr
}

...
$exampleArr = SomeClass::myFunction($aCollection);
var_dump($exampleArr);
//desired results:  the var_dump of the collection 

Это швы, что $ arr внутри каждая функция является локальной для функции. Как я могу выполнить sh вышеуказанное? Я понимаю, что если бы это была НЕ функция stati c, я мог бы просто использовать вместо нее $ this-> arr, но мне нужно сделать это, используя функцию stati c.

1 Ответ

3 голосов
/ 18 июня 2020

Изменяя переменную внутри коллекции laravel, вам придется использовать метод use() со ссылкой &.

$arr = [];
$laravelCollection->each(function($a) use(&$arr) {
    $arr[] = $a;
});

Или даже лучше, поскольку вы просто конвертируете свою коллекцию в array:

$arr = $laravelCollection->toArray();

Ознакомьтесь с документами коллекции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...