Автор оригинала: David Wong.
Статья была переслана из профессионального сообщества разработчиков laravel. Оригинальная ссылка: https://learnku.com/laravel/t
В laravel есть очень полезный класс для управления массивами, называемый коллекциями. Считается, что каждый разработчик laravel более или менее использовал коллекции, особенно при работе с eloquent. В этой статье я перечислю 10 распространенных методов.
1. снимите вес
дубликаты Метод для извлечения всех повторяющихся значений в коллекции. Возвращаемый массив содержит ключ каждого значения в исходном массиве.
2. Набор проходов
Когда не используется для каждого Вы также можете просмотреть коллекцию, используя метод каждый . Как обычно для каждого Таким же образом, каждый Метод также имеет два параметра, которые являются элементом и ключ 。
each(function ($item, $key) {
// Do stuff
});3. Набор выходных данных отладки
Когда мы отлаживаем код, нам часто приходится выводить и просматривать содержимое коллекции. Помимо использования дампа($коллекция) Кроме того, вы также можете использовать дамп Метод, использующий дамп Преимущество этого метода в том, что результат выглядит чище.
dump();
/*
Collection {
#items: array:3 [
0 => "james"
1 => "lisa"
2 => "ryan"
]
}
*/Если вы хотите вывести содержимое коллекции и точки останова, вы можете использовать dd (вывод и завершение) метод.
4. Имеет
Метод has можно использовать, чтобы узнать, существует ли ключ в коллекции. Параметры могут быть строками или массивами. Если массив передается в качестве параметра, все значения в массиве должны быть ключами в коллекции, и результат может возвращать значение true, в противном случае значение false.
'Harry Potter',
'author' => 'J.K. Rowling',
'price' => 25
]);
$collection->has('author'); // true
$collection->has(['title', 'price']); // true
$collection->has(['price', 'rating']); // false5. Взорваться
взорваться Способ соединения значений в коллекции. Функция этого метода аналогична функции PHP implode Метод очень похож.
'Gift card', 'price' => 50],
['title' => 'Chair', 'price' => 80],
]);
$collection->implode('title', ', ');
// Gift card, ChairЕсли значение в коллекции представляет собой просто строку или число, вам просто нужно передать соединитель в качестве параметра.
implode('-');
// 1-2-foo-3-bar6. Толкай и тяни
у вас есть доступ к методу push , чтобы прикрепить запись к концу коллекции. Если вам нужно добавить в начало коллекции, вы можете использовать метод добавить .
push(4); $collection->all(); // [1, 2, 3, 4]
метод pull удаляет данный ключ из коллекции и возвращает его соответствующее значение.
'Harry Potter',
'author' => 'J.K. Rowling',
'price' => 25
]);
$collection->pull('author'); // 'J.K. Rowling'
$collection->all(); // ['title' => 'Harry Potter', 'price' => 25]7. Способ перемешивания
Метод shuffle будет случайным образом сортировать элементы в коллекции.
shuffle(); $shuffled->all(); // [3, 1, 2] (random example)
8. Максимальный метод
Вы можете использовать метод max, чтобы получить максимальное значение в коллекции. Если коллекция содержит массивы, вы можете передать параметры, чтобы получить максимальное значение ключа.
'Gift card', 'price' => 50],
['title' => 'Chair', 'price' => 80]
])->max('price'); // 80
$max = collect([1, 2, 3])->max(); // 39. Фильтр
иметь доступ к фильтру Способ фильтрации коллекции. Этот метод принимает функцию обратного вызова в качестве аргумента. Определите правила фильтрации в функции обратного вызова. В коллекции можно оставить только значения, соответствующие правилам.
filter(function ($value, $key) {
return $value % 2 == 0;
});
$even_numbers->all(); // [2, 4, 6, 8, 10]10. Ломтик
срез Метод можно использовать для разделения коллекции и возврата позиции индекса, указанной параметром, и значения после него. Массив возвращаемых значений будет содержать ключ исходного массива.
Обратите внимание, что в следующем примере переданный параметр равен 2. Это означает, что набор отделен от индекса 2, и Нет Значение элемента 2 в массиве.
slice(2); $sliced->all(); // [3, 4, 5]
Оригинал: “https://developpaper.com/share-10-useful-laravel-5-8-set-assist-methods/”