Библиотека Funct, которую мы рассматривали ранее, кроме обычных функций содержит функции высшего порядка. В этом уроке мы рассмотрим некоторые из них, которые могут быть полезными в будущем.
Разбивает массив на два на основании предиката. Те элементы, которые удовлетворяют предикату, попадают в первый массив, другие - во второй.
<?php
[$first, $second] = Collection\partition([1, 2, 3, 4, 5, 6, 7, 8, 9], function ($num) {
return $num % 2 === 0;
}); // [[2, 4, 6, 8], [1, 3, 5, 7, 9]]
print_r($first); // => [2, 4, 6, 8]
print_r($second); // => [1, 3, 5, 7, 9]
Возвращает true
, если каждый элемент коллекции удовлетворяет предикату. По умолчанию проверяет на истинность (== true
).
<?php
Collection\every([true, 1, null, 'yes']); // false
Collection\every([true, 1, 'yes']); // true
Collection\every(
[2, 4, 6],
function ($value) {
return ($value % 2) === 0;
}
); // true
Группирует элементы коллекции в множества на основании ключа, полученного в результате вызова колбека.
<?php
Collection\groupBy([1.3, 2.1, 2.4], function($num) {
return floor($num);
}); // [1 => [1.3], 2 => [2.1, 2.4]]
Возвращает минимальный элемент коллекции на основании результата переданной функции. Если несколько разнотипных значений посчитаются идентичными, функция вернёт последнее из них.
<?php
Collection\minValue(
[
10 => [
'title' => 'a',
'size' => 1
],
20 => [
'title' => 'b',
'size' => 2
],
30 => [
'title' => 'c',
'size' => 3
],
40 => [
'title' => 'd',
'size' => 1
],
],
function ($item) {
return $item['size'];
}
);
# Array (
# 'title' => 'd',
# 'size' => 1
# )
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт