Lodash-PHP — это порт библиотеки Lodash JS на PHP. Это набор простых в использовании служебных функций для повседневных проектов PHP.
Lodash-PHP пытается максимально точно имитировать lodash.js.
Lodash-PHP требует минимум PHP 7.2+, но всегда рекомендуется последняя версия PHP.
Установите Lodash-PHP через композитор:
$ composer require lodash-php/lodash-phpКаждый метод в Lodash-PHP — это отдельная функция, которую можно импортировать и использовать самостоятельно.
<?php
use function _ each ;
each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
}); Lodash-PHP также включает глобальный класс _ , который можно использовать глобально.
<?php
_:: each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
}); Создает массив элементов, разделенных на группы длиной size . Если array невозможно разделить поровну, последний фрагмент будет состоять из оставшихся элементов.
Аргументы:
@param array $array array Массив для обработки.
@param int $number [size=1] Длина каждого фрагмента
Возвращаться:
@return array Возвращает новый массив фрагментов.
Пример:
<?php
use function _ chunk ;
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 2 )
// => [['a', 'b'], ['c', 'd']]
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 3 )
// => [['a', 'b', 'c'], ['d']] Создает массив, из которого удалены все ложные значения. Значения false , null , 0 , "" , undefined и NaN являются ложными.
Аргументы:
@param array $array Массив, который нужно сжать.
Возвращаться:
@return array Возвращает новый массив отфильтрованных значений.
Пример:
<?php
use function _ compact ;
compact ([ 0 , 1 , false , 2 , '' , 3 ])
// => [1, 2, 3] Создает новый массив, объединяющий array с любыми дополнительными массивами и/или значениями.
Аргументы:
@param array $array Массив, который нужно объединить.
@param array<int, Mixed> $values Значения, которые необходимо объединить.
Возвращаться:
@return array Возвращает новый объединенный массив.
Пример:
<?php
use function _ concat ;
$ array = [ 1 ];
$ other = concat ( $ array , 2 , [ 3 ], [[ 4 ]]);
var_dump ( $ other )
// => [1, 2, 3, [4]]
var_dump ( $ array )
// => [1] Создает массив значений array , не включенных в другие заданные массивы, используя SameValueZero для сравнения на равенство. Порядок и ссылки значений результата определяются первым массивом.
Примечание. В отличие от pullAll , этот метод возвращает новый массив.
Аргументы:
@param array $array Массив для проверки.
@param array ...$values Исключаемые значения.
Возвращаться:
@return array Возвращает новый массив отфильтрованных значений.
Пример:
<?php
use function _ difference ;
difference ([ 2 , 1 ], [ 2 , 3 ])
// => [1] Этот метод похож на difference за исключением того, что он принимает iteratee , который вызывается для каждого элемента array и values для генерации критерия, по которому они сравниваются. Порядок и ссылки значений результата определяются первым массивом. Итератор вызывается с одним аргументом: (значение).
Примечание. В отличие от pullAllBy , этот метод возвращает новый массив.
Аргументы:
@param array $array Массив для проверки.
@param array<int, Mixed> ...$values Исключаемые значения.
@param callable $iteratee Итератор, вызываемый для каждого элемента.
Возвращаться:
@return array Возвращает новый массив отфильтрованных значений.
Пример:
<?php
use function _ differenceBy ;
differenceBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], ' floor ' )
// => [1.2] Этот метод похож на difference , за исключением того, что он принимает comparator , который вызывается для сравнения элементов array со values . Порядок и ссылки значений результата определяются первым массивом. Компаратор вызывается с двумя аргументами: (arrVal, othVal).
Примечание. В отличие от pullAllWith , этот метод возвращает новый массив.
Аргументы:
@param array<int, mix> $array Массив для проверки.
@param array ...$values Исключаемые значения.
@param callable $comparator Компаратор, вызываемый для каждого элемента.
Возвращаться:
@return array Возвращает новый массив отфильтрованных значений.
Пример:
<?php
use function _ differenceWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
differenceWith ( $ objects , [[ ' x ' => 1 , ' y ' => 2 ]], ' _::isEqual ' )
// => [[ 'x' => 2, 'y' => 1 ]] Создает фрагмент array с n элементами, удаленными с начала.
ПРИМЕЧАНИЕ. Эта функция изменит порядок и сбросит индексы массива.
Аргументы:
@param array $array Массив для запроса.
@param int $n Количество удаляемых элементов.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ drop ;
drop ([ 1 , 2 , 3 ])
// => [2, 3]
drop ([ 1 , 2 , 3 ], 2 )
// => [3]
drop ([ 1 , 2 , 3 ], 5 )
// => []
drop ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3] Создает фрагмент array с n элементами, отброшенными с конца. ПРИМЕЧАНИЕ. Эта функция изменит порядок и сбросит индексы массива.
Аргументы:
@param array $array Массив для запроса.
@param int $n Количество удаляемых элементов.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ dropRight ;
dropRight ([ 1 , 2 , 3 ])
// => [1, 2]
dropRight ([ 1 , 2 , 3 ], 2 )
// => [1]
dropRight ([ 1 , 2 , 3 ], 5 )
// => []
dropRight ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3] Создает фрагмент array исключая элементы, удаленные с конца. Элементы отбрасываются до тех пор, пока predicate не вернет falsey. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Аргументы:
@param array $array Массив для запроса.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ dropRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
]
dropRightWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for ['barney'] Создает фрагмент array исключая элементы, удаленные с начала. Элементы отбрасываются до тех пор, пока predicate не вернет falsey. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Аргументы:
@param array $array Массив для запроса.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ dropWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
dropWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; } )
// => objects for ['pebbles'] Проверяет, возвращает ли predicate истинность для всех элементов array . Итерация прекращается, как только predicate возвращает false. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Примечание. Этот метод возвращает true для пустых массивов, поскольку все верно для элементов пустых массивов.
Аргументы:
@param iterable $collection Массив для перебора.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return bool true , если все элементы проходят проверку предиката, иначе false .
Пример:
<?php
use function _ every ;
every ([ true , 1 , null , ' yes ' ], function ( $ value ) { return is_bool ( $ value );})
// => false
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
];
// The `matches` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]));
// false
// The `matchesProperty` iteratee shorthand.
$ this -> assertTrue ( every ( $ users , [ ' active ' , false ]));
// true
// The `property` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , ' active ' ));
//false
Этот метод похож на find за исключением того, что он возвращает индекс первого элемента, а предикат возвращает true for вместо самого элемента.
Аргументы:
@param array $array Массив для проверки.
@param callable $predicate Функция, вызываемая на каждой итерации.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return int индекс найденного элемента, иначе -1 .
Пример:
<?php
use function _ findIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => true ],
];
findIndex ( $ users , function ( $ o ) { return $ o [ ' user ' ] s== ' barney ' ; });
// => 0
// The `matches` iteratee shorthand.
findIndex ( $ users , [ ' user ' => ' fred ' , ' active ' => false ]);
// => 1
// The `matchesProperty` iteratee shorthand.
findIndex ( $ users , [ ' active ' , false ]);
// => 0
// The `property` iteratee shorthand.
findIndex ( $ users , ' active ' );
// => 2 Этот метод похож на findIndex за исключением того, что он перебирает элементы collection справа налево.
Аргументы:
@param array $array Массив для проверки.
@param mix $predicate Функция, вызываемая на итерацию.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return int индекс найденного элемента, иначе -1 .
Пример:
<?php
use function _ findLastIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
findLastIndex ( $ users , function ( $ user ) { return $ user [ ' user ' ] === ' pebbles ' ; })
// => 2 Сглаживает array на один уровень.
Аргументы:
@param array $array Массив, который нужно сгладить.
Возвращаться:
@return array новый сглаженный массив.
Пример:
<?php
use function _ flatten ;
flatten ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]])
// => [1, 2, [3, [4]], 5] Рекурсивно выравнивает array .
Аргументы:
@param array $array Массив, который нужно сгладить.
Возвращаться:
@return array Возвращает новый сглаженный массив.
Пример:
<?php
use function _ flattenDeep ;
flattenDeep ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]);
// => [1, 2, 3, 4, 5] Рекурсивно сглаживать array до depth раз.
Аргументы:
@param array $array Массив, который нужно сгладить.
@param int $глубина Максимальная глубина рекурсии.
Возвращаться:
@return array новый сглаженный массив.
Пример:
<?php
use function _ flattenDepth ;
$ array = [ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]
flattenDepth ( $ array , 1 )
// => [1, 2, [3, [4]], 5]
flattenDepth ( $ array , 2 )
// => [1, 2, 3, [4], 5] Этот метод, обратный toPairs , возвращает объект, состоящий из pairs ключ-значение.
Аргументы:
@param array $pairs Пары ключ-значение.
Возвращаться:
@return stdClass новый объект.
Пример:
<?php
use function _ fromPairs ;
fromPairs ([[ ' a ' , 1 ], [ ' b ' , 2 ]])
// => stdClass(
// 'a' => 1,
//'b' => 2,
// ) Получает первый элемент array .
Аргументы:
@param array $array Массив для запроса.
Возвращаться:
@return mix Возвращает первый элемент array .
Пример:
<?php
use function _ head ;
head ([ 1 , 2 , 3 ])
// => 1
head ([])
// => null Получает индекс, по которому находится первое вхождение value в array используя SameValueZero для сравнения на равенство. Если fromIndex отрицательное значение, оно используется как смещение от конца array .
Аргументы:
@param array $array Массив для проверки.
@param Mixed $value Значение для поиска.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return int индекс совпавшего значения, иначе -1 .
Пример:
<?php
use function _ indexOf ;
indexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 1
// Search from the `fromIndex`.
indexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 3 Получает все элементы array кроме последнего.
Аргументы:
@param array $array Массив для запроса.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ initial ;
initial ([ 1 , 2 , 3 ])
// => [1, 2] Создает массив уникальных значений, которые включаются во все заданные массивы, используя SameValueZero для сравнения на равенство. Порядок и ссылки значений результата определяются первым массивом.
Аргументы:
@param массив ...$массивы
Возвращаться:
@return array новый массив пересекающихся значений.
Пример:
<?php
use function _ intersection ;
intersection ([ 2 , 1 ], [ 2 , 3 ])
// => [2] Этот метод похож на intersection за исключением того, что он принимает iteratee , который вызывается для каждого элемента каждого arrays для генерации критерия, по которому они сравниваются. Порядок и ссылки значений результата определяются первым массивом. Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param array<int, смешанный> ...$arrays
@param callable $iteratee Итератор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив пересекающихся значений.
Пример:
<?php
use function _ intersectionBy ;
intersectionBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], Math.floor)
// => [2.1]
// The `property` iteratee shorthand.
intersectionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [[ 'x' => 1 ]] Этот метод похож на intersection за исключением того, что он принимает comparator , который вызывается для сравнения элементов arrays . Порядок и ссылки значений результата определяются первым массивом. Компаратор вызывается с двумя аргументами: (arrVal, othVal).
Аргументы:
@param массив ...$массивы
@param callable $comparator Компаратор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив пересекающихся значений.
Пример:
<?php
use function _ intersectionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
intersectionWith ( $ objects , $ others , ' _::isEqual ' )
// => [[ 'x' => 1, 'y' => 2 ]] Получает последний элемент array .
Аргументы:
@param array $array Массив для запроса.
Возвращаться:
@return Mixed Возвращает последний элемент array .
Пример:
<?php
use function _ last ;
last ([ 1 , 2 , 3 ])
// => 3 Этот метод похож на indexOf за исключением того, что он перебирает элементы array справа налево.
Аргументы:
@param array $array Массив для проверки.
@param Mixed $value Значение для поиска.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return int индекс совпавшего значения, иначе -1 .
Пример:
<?php
use function _ lastIndexOf ;
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 3
// Search from the `fromIndex`.
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 1 Получает элемент array с индексом n . Если n отрицательно, возвращается n-й элемент с конца.
Аргументы:
@param array $array Массив для запроса.
@param int $n Индекс возвращаемого элемента.
Возвращаться:
@return Mixed Возвращает n-й элемент array .
Пример:
<?php
use function _ nth ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
nth ( $ array , 1 )
// => 'b'
nth ( $ array , - 2 )
// => 'c' Удаляет все заданные значения из array используя SameValueZero для сравнения на равенство.
Примечание. В отличие от without , этот метод изменяет array . Используйте remove , чтобы удалить элементы из массива по предикату.
Аргументы:
@param array $array Массив, который нужно изменить.
@param array<int, string> $values Значения, которые нужно удалить.
Возвращаться:
@return массив
Пример:
<?php
use function _ pull ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pull ( $ array , ' a ' , ' c ' )
var_dump ( $ array )
// => ['b', 'b'] Этот метод похож на pull за исключением того, что он принимает массив значений для удаления.
Примечание. В отличие от difference , этот метод изменяет array .
Аргументы:
@param array $array Массив, который нужно изменить.
@param array $values Значения, которые нужно удалить.
Возвращаться:
@return массив array .
Пример:
<?php
use function _ pullAll ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pullAll ( $ array , [ ' a ' , ' c ' ])
var_dump ( $ array )
// => ['b', 'b'] Этот метод похож на pullAll за исключением того, что он принимает iteratee , который вызывается для каждого элемента array и values для генерации критерия, по которому они сравниваются. Итератор вызывается с одним аргументом: (значение).
Примечание. В отличие от differenceBy , этот метод изменяет array .
Аргументы:
@param array $array Массив, который нужно изменить.
@param array $values Значения, которые нужно удалить.
@param callable $iteratee Итератор, вызываемый для каждого элемента.
Возвращаться:
@return массив array .
Пример:
<?php
use function _ pullAllBy ;
$ array = [[ ' x ' => 1 ], [ ' x ' => 2 ], [ ' x ' => 3 ], [ ' x ' => 1 ]]
pullAllBy ( $ array , [[ ' x ' => 1 ], [ ' x ' => 3 ]], ' x ' )
var_dump ( $ array )
// => [[ 'x' => 2 ]] Этот метод похож на pullAll за исключением того, что он принимает comparator , который вызывается для сравнения элементов array со values . Компаратор вызывается с двумя аргументами: (arrVal, othVal).
Примечание. В отличие от differenceWith , этот метод изменяет array .
Аргументы:
@param array $array Массив, который нужно изменить.
@param array $values Значения, которые нужно удалить.
@param callable $comparator Компаратор, вызываемый для каждого элемента.
Возвращаться:
@return массив array .
Пример:
<?php
use function _ pullAllWith ;
$ array = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 3 , ' y ' => 4 ], [ ' x ' => 5 , ' y ' => 6 ]]
pullAllWith ( $ array , [[ ' x ' => 3 , ' y ' => 4 ]], ' _isEqual ' )
var_dump ( $ array )
// => [[ 'x' => 1, 'y' => 2 ], [ 'x' => 5, 'y' => 6 ]] Удаляет элементы из array соответствующие indexes , и возвращает массив удаленных элементов.
Примечание. В отличие от at , этот метод изменяет array .
Аргументы:
@param array $array Массив, который нужно изменить.
@param (int | int[]) $indexes Индексы удаляемых элементов.
Возвращаться:
@return array новый массив удаленных элементов.
Пример:
<?php
use function _ pullAt ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
$ pulled = pullAt ( $ array , [ 1 , 3 ])
var_dump ( $ array )
// => ['a', 'c']
var_dump ( $ pulled )
// => ['b', 'd'] Удаляет все элементы из array , для которых predicate возвращает истинность, и возвращает массив удаленных элементов. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Примечание. В отличие от filter , этот метод изменяет array . Используйте pull для извлечения элементов из массива по значению.
Аргументы:
@param array $array Массив, который нужно изменить.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array новый массив удаленных элементов.
Пример:
<?php
use function _ remove ;
$ array = [ 1 , 2 , 3 , 4 ]
$ evens = remove ( $ array , function ( $ n ) { return $ n % 2 === 0 ; })
var_dump ( $ array )
// => [1, 3]
var_dump ( $ evens )
// => [2, 4] Получает случайный элемент из array .
Аргументы:
@param array $array Массив для выборки.
Возвращаться:
@return mix Возвращает случайный элемент.
Пример:
<?php
use function _ sample ;
sample ([ 1 , 2 , 3 , 4 ])
// => 2 Получает n случайных элементов по уникальным ключам из array до размера array .
Аргументы:
@param array $array Массив для выборки.
@param int $n Количество элементов для выборки.
Возвращаться:
@return массив случайных элементов.
Пример:
<?php
use function _ sampleSize ;
sampleSize ([ 1 , 2 , 3 ], 2 )
// => [3, 1]
sampleSize ([ 1 , 2 , 3 ], 4 )
// => [2, 3, 1]Создает массив перетасованных значений
Аргументы:
@param array $array Массив, который нужно перетасовать.
Возвращаться:
@return array новый перетасованный массив.
Пример:
<?php
use function _ shuffle ;
shuffle ([ 1 , 2 , 3 , 4 ])
// => [4, 1, 3, 2] Создает фрагмент array от start до конца, но не включая end .
Аргументы:
@param array $array Массив, который нужно разрезать.
@param int $start Начальная позиция.
@param int $end Конечная позиция.
Возвращаться:
@return array фрагмент array .
Получает все элементы array кроме первого.
Аргументы:
@param array $array Массив для запроса.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ tail ;
tail ([ 1 , 2 , 3 ])
// => [2, 3] Создает фрагмент array из n элементов, взятых с начала.
Аргументы:
@param array $array Массив для запроса.
@param int $n Количество элементов, которые нужно взять.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ take ;
take ([ 1 , 2 , 3 ])
// => [1]
take ([ 1 , 2 , 3 ], 2 )
// => [1, 2]
take ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
take ([ 1 , 2 , 3 ], 0 )
// => [] Создает фрагмент array с n элементами, взятыми с конца.
Аргументы:
@param array $array Массив для запроса.
@param int $n Количество элементов, которые нужно взять.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ takeRight ;
takeRight ([ 1 , 2 , 3 ])
// => [3]
takeRight ([ 1 , 2 , 3 ], 2 )
// => [2, 3]
takeRight ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
takeRight ([ 1 , 2 , 3 ], 0 )
// => [] Создает фрагмент array с элементами, взятыми с конца. Элементы принимаются до тех пор, пока predicate не вернет falsey. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Аргументы:
@param array $array Массив для запроса.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ takeRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
];
takeRightWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['fred', 'pebbles'] Создает фрагмент array с элементами, взятыми с начала. Элементы принимаются до тех пор, пока predicate не вернет falsey. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Аргументы:
@param array $array Массив для запроса.
@param mix $predicate Функция, вызываемая на итерацию.
Возвращаться:
@return array фрагмент array .
Пример:
<?php
use function _ takeWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
takeWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['barney', 'fred'] Создает массив уникальных значений по порядку из всех заданных массивов, используя SameValueZero для сравнения на равенство.
Аргументы:
@param array ...$arrays Массивы для проверки.
Возвращаться:
@return array новый массив объединенных значений.
Пример:
<?php
use function _ union ;
union ([ 2 ], [ 1 , 2 ])
// => [2, 1] Этот метод похож на union за исключением того, что он принимает iteratee , который вызывается для каждого элемента каждого arrays для генерации критерия, по которому вычисляется уникальность. Значения результата выбираются из первого массива, в котором встречается значение. Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param array<int, Mixed> ...$arrays Массивы для проверки.
@param callable $iteratee Итератор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив объединенных значений.
Пример:
<?php
use function _ unionBy ;
unionBy ([ 2.1 ], [ 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
// The `_::property` iteratee shorthand.
unionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [['x' => 1], ['x' => 2]] Этот метод похож на union за исключением того, что он принимает comparator , который вызывается для сравнения элементов arrays . Значения результата выбираются из первого массива, в котором встречается значение. Компаратор вызывается с двумя аргументами: (arrVal, othVal).
Аргументы:
@param array<int, Mixed> ...$arrays Массивы для проверки.
@param callable $comparator Компаратор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив объединенных значений.
Пример:
<?php
use function _ unionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
unionWith ( $ objects , $ others , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1], ['x' => 1, 'y' => 1]] Создает версию массива без дубликатов, используя SameValueZero для сравнения на равенство, в которой сохраняется только первое вхождение каждого элемента. Порядок значений результатов определяется порядком их появления в массиве.
Аргументы:
@param array $array Массив для проверки.
Возвращаться:
@return array новый массив без дубликатов.
Пример:
<?php
use function _ uniq ;
uniq ([ 2 , 1 , 2 ])
// => [2, 1]s Этот метод похож на uniq за исключением того, что он принимает iteratee , который вызывается для каждого элемента array для генерации критерия, по которому вычисляется уникальность. Порядок значений результатов определяется порядком их появления в массиве. Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param array $array Массив для проверки.
@param mix $iteratee Итератор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив без дубликатов.
Пример:
<?php
use function _ uniqBy ;
uniqBy ([ 2.1 , 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2] Этот метод похож на uniq за исключением того, что он принимает comparator , который вызывается для сравнения элементов array . Порядок значений результатов определяется порядком их появления в массиве. Компаратор вызывается с двумя аргументами: (arrVal, othVal).
Аргументы:
@param array $array Массив для проверки.
@param callable $comparator Компаратор, вызываемый для каждого элемента.
Возвращаться:
@return array новый массив без дубликатов.
Пример:
<?php
use function _ uniqWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
uniqWith ( $ objects , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1]] Этот метод похож на zip за исключением того, что он принимает массив сгруппированных элементов и создает массив, перегруппировывающий элементы в их конфигурацию до zip.
Аргументы:
@param array $array Массив сгруппированных элементов для обработки.
Возвращаться:
@return array новый массив перегруппированных элементов.
Пример:
<?php
use function _ unzip ;
$ zipped = zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
unzip ( $ zipped )
// => [['a', 'b'], [1, 2], [true, false]] Этот метод похож на unzip за исключением того, что он принимает iteratee чтобы указать, как следует объединять перегруппированные значения. Итератор вызывается с элементами каждой группы: (...group).
Аргументы:
@param array $array Массив сгруппированных элементов для обработки.
@param (callable | null) $iteratee Функция для объединения перегруппированных значений.
Возвращаться:
@return array новый массив перегруппированных элементов.
Пример:
<?php
use function _ unzipWith ;
$ zipped = zip ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ])
// => [[1, 10, 100], [2, 20, 200]]
unzipWith (zipped, ' _::add ' )
// => [3, 30, 300] Создает массив, исключая все заданные значения, используя SameValueZero для сравнения на равенство.
Примечание. В отличие от pull этот метод возвращает новый массив.
Аргументы:
@param array $array Массив для проверки.
@param array<int, Mixed> $values Исключаемые значения.
Возвращаться:
@return array новый массив отфильтрованных значений.
Пример:
<?php
use function _ without ;
without ([ 2 , 1 , 2 , 3 ], 1 , 2 )
// => [3]Создает массив сгруппированных элементов, первый из которых содержит первые элементы заданных массивов, второй — вторые элементы заданных массивов и т. д.
Аргументы:
@param array ...$arrays Массивы для обработки.
Возвращаться:
@return array новый массив сгруппированных элементов.
Пример:
<?php
use function _ zip ;
zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]] Этот метод похож на fromPairs за исключением того, что он принимает два массива: один из идентификаторов свойств и один из соответствующих значений.
Аргументы:
@param array $props Идентификаторы свойств.
@param array $values Значения свойств.
Возвращаться:
@return object новый объект.
Пример:
<?php
use function _ zipObject ;
zipObject ([ ' a ' , ' b ' ], [ 1 , 2 ])
/* => object(stdClass) #210 (2) {
[ " a " ] => int( 1 )
[ " b " ] => int( 2 )
}
*/ Этот метод похож на zipObject за исключением того, что он поддерживает пути к свойствам.
Аргументы:
@param array $props Идентификаторы свойств.
@param array $values Значения свойств.
Возвращаться:
@return stdClass новый объект.
Пример:
<?php
use function _ zipObjectDeep ;
zipObjectDeep ([ ' a.b[0].c ' , ' a.b[1].d ' ], [ 1 , 2 ])
/* => class stdClass #20 (1) {
public $ a => class stdClass #19 (1) {
public $ b =>
array ( 2 ) {
[ 0 ] => class stdClass #17 (1) {
public $ c => int( 1 )
}
[ 1 ] => class stdClass #18 (1) {
public $ d => int( 2 )
}
}
}
}
*/ Этот метод похож на zip за исключением того, что он принимает iteratee , чтобы указать, как следует объединять сгруппированные значения. Итератор вызывается с элементами каждой группы: (...group).
Аргументы:
@param array<int, (array | callable)> ...$arrays Массивы для обработки.
@param callable $iteratee Функция для объединения сгруппированных значений.
Возвращаться:
@return array новый массив сгруппированных элементов.
Пример:
<?php
use function _ zipWith ;
zipWith ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ], function ( $ a , $ b , $ c ) { return $ a + $ b + $ c ; })
// => [111, 222] Создает массив, состоящий из ключей, сгенерированных в результате выполнения каждого элемента collection через iteratee . Соответствующее значение каждого ключа — это количество раз, когда ключ был возвращен iteratee . Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Итератор для преобразования ключей.
Возвращаться:
@return array Возвращает составной агрегатный объект.
Пример:
<?php
use function _ countBy ;
countBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => 2, '4' => 1]
// The `property` iteratee shorthand.
countBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => 2, '5' => 1] Перебирает элементы collection и вызывает iteratee для каждого элемента. Итератор вызывается с тремя аргументами: (значение, индекс|ключ, коллекция). Итерированные функции могут завершить итерацию раньше, явно вернув false .
Примечание. Как и в случае с другими методами «Коллекции», объекты со свойством «длина» повторяются как массивы. Чтобы избежать такого поведения, используйте forIn или forOwn для итерации объекта.
Аргументы:
@param (массив | итерируемый | объект) $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Функция, вызываемая на каждой итерации.
Возвращаться:
@return (массив | объект) Возвращает collection .
Пример:
<?php
use function _ each ;
each ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `1` then `2`.
each (( object ) [ ' a ' => 1 , ' b ' => 2 ], function ( $ value , $ key ) { echo $ key ; });
// => Echoes 'a' then 'b' (iteration order is not guaranteed). Этот метод похож на each , за исключением того, что он перебирает элементы collection справа налево.
Аргументы:
@param (массив | итерируемый | объект) $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Функция, вызываемая на каждой итерации.
Возвращаться:
@return (массив | объект) Возвращает collection .
Пример:
<?php
use function _ eachRight ;
eachRight ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `2` then `1`. Выполняет итерацию по элементам array , возвращая массив всех элементов. predicate возвращает true for. Предикат вызывается с тремя аргументами: (значение, индекс, массив).
Примечание. В отличие от remove , этот метод возвращает новый массив.
Аргументы:
@param iterable $array Массив для перебора.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array новый отфильтрованный массив.
Пример:
<?php
use function _ filter ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ]
];
filter ( $ users , function ( $ o ) { return ! $ o [ ' active ' ]; });
// => objects for ['fred']
// The `matches` iteratee shorthand.
filter ( $ users , [ ' age ' => 36 , ' active ' => true ]);
// => objects for ['barney']
// The `matchesProperty` iteratee shorthand.
filter ( $ users , [ ' active ' , false ]);
// => objects for ['fred']
// The `property` iteratee shorthand.
filter ( $ users , ' active ' );
// => objects for ['barney'] Выполняет итерацию по элементам collection , возвращая первый элемент, predicate возвращает true for. Предикат вызывается с тремя аргументами: (значение, индекс|ключ, коллекция).
Аргументы:
@param iterable $collection Коллекция, которую нужно проверить.
@param callable $predicate Функция, вызываемая на каждой итерации.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return mix Возвращает соответствующий элемент, иначе — null .
Пример:
<?php
use function _ find ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => true ]
];
find ( $ users , function ( $ o ) { return $ o [ ' age ' ] < 40 ; });
// => object for 'barney'
// The `matches` iteratee shorthand.
find ( $ users , [ ' age ' => 1 , ' active ' => true ]);
// => object for 'pebbles'
// The `matchesProperty` iteratee shorthand.
find ( $ users , [ ' active ' , false ]);
// => object for 'fred'
// The `property` iteratee shorthand.
find ( $ users , ' active ' );
// => object for 'barney' Этот метод похож на find за исключением того, что он перебирает элементы collection справа налево.
Аргументы:
@param iterable $collection Коллекция, которую нужно проверить.
@param callable $predicate Функция, вызываемая на каждой итерации.
@param int $fromIndex Индекс, по которому осуществляется поиск.
Возвращаться:
@return Mixed Возвращает совпавший элемент, иначе undefined .
Пример:
<?php
use function _ findLast ;
findLast ([ 1 , 2 , 3 , 4 ], function ( $ n ) { return $ n % 2 == 1 ; })
// => 3 Создает плоский массив значений, пропуская каждый элемент collection через iteratee и выравнивая сопоставленные результаты. Итератор вызывается с тремя аргументами: (значение, индекс|ключ, коллекция).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Функция, вызываемая на каждой итерации.
Возвращаться:
@return array новый сглаженный массив.
Пример:
<?php
use function _ flatMap ;
function duplicate ( $ n ) {
return [ $ n , $ n ]
}
flatMap ([ 1 , 2 ], ' duplicate ' )
// => [1, 1, 2, 2] Этот метод похож на flatMap за исключением того, что он рекурсивно выравнивает сопоставленные результаты.
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Функция, вызываемая на каждой итерации.
Возвращаться:
@return array Возвращает новый сглаженный массив.
Пример:
<?php
use function _ flatMapDeep ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]];
}
flatMapDeep ([ 1 , 2 ], ' duplicate ' );
// => [1, 1, 2, 2] Этот метод похож на flatMap за исключением того, что он рекурсивно сглаживает отображенные результаты на depth .
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Функция, вызываемая на каждой итерации.
@param int $глубина Максимальная глубина рекурсии.
Возвращаться:
@return array новый сглаженный массив.
Пример:
<?php
use function _ flatMapDepth ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]]
}
flatMapDepth ([ 1 , 2 ], ' duplicate ' , 2 )
// => [[1, 1], [2, 2]] Создает массив, состоящий из ключей, сгенерированных в результате выполнения каждого элемента collection через iteratee . Порядок сгруппированных значений определяется порядком их появления в collection . Соответствующее значение каждого ключа представляет собой массив элементов, отвечающих за генерацию ключа. Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Итератор для преобразования ключей.
Возвращаться:
@return array Возвращает составной агрегатный объект.
Пример:
<?php
use function _ groupBy ;
groupBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => [6.1, 6.3], '4' => [4.2]]
groupBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => ['one', 'two'], '5' => ['three']] Вызывает метод по path каждого элемента collection , возвращая массив результатов каждого вызванного метода. Любые дополнительные аргументы предоставляются каждому вызванному методу. Если path является функцией, она вызывается и this к каждому элементу collection .
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param (массив | вызываемый | строка) $path Путь к вызываемому методу или функции, вызываемой на каждую итерацию.
@param array $args Аргументы для вызова каждого метода.
Возвращаться:
@return array массив результатов.
Пример:
<?php
use function _ invokeMap ;
invokeMap ([[ 5 , 1 , 7 ], [ 3 , 2 , 1 ]], function ( $ result ) { sort ( $ result ); return $ result ;})
// => [[1, 5, 7], [1, 2, 3]]
invokeMap ([ 123 , 456 ], ' str_split ' )
// => [['1', '2', '3'], ['4', '5', '6']] Создает объект, состоящий из ключей, сгенерированных в результате выполнения каждого элемента collection через iteratee . Соответствующее значение каждого ключа — это последний элемент, ответственный за генерацию ключа. Итератор вызывается с одним аргументом: (значение).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $iteratee Итератор для преобразования ключей.
Возвращаться:
@return array составной агрегатный объект.
Пример:
<?php
use function _ keyBy ;
$ array = [
[ ' direction ' => ' left ' , ' code ' => 97 ],
[ ' direction ' => ' right ' , ' code ' => 100 ],
];
keyBy ( $ array , function ( $ o ) { return chr ( $ o [ ' code ' ]); })
// => ['a' => ['direction' => 'left', 'code' => 97], 'd' => ['direction' => 'right', 'code' => 100]]
keyBy ( $ array , ' direction ' );
// => ['left' => ['direction' => 'left', 'code' => 97], 'right' => ['direction' => 'right', 'code' => 100]] Создает массив значений, пропуская каждый элемент collection через iteratee . Итератор вызывается с тремя аргументами: (значение, индекс|ключ, коллекция).
Многие методы lodash-php защищены от работы в качестве итераций для таких методов, как _::every , _::filter , _::map , _::mapValues , _::reject и _::some .
Защищенные методы: ary , chunk , curry , curryRight , drop , dropRight , every , fill , invert , parseInt , random , range , rangeRight , repeat , sampleSize , slice , some , sortBy , split , take , takeRight , template , trim , trimEnd , trimStart и words
Аргументы:
@param (массив | объект) $collection Коллекция, по которой необходимо выполнить итерацию.
@param (callable | string | array) $iteratee Функция, вызываемая на каждую итерацию.
Возвращаться:
@return array Возвращает новый сопоставленный массив.
Пример:
<?php
use function _ map ;
function square ( int $ n ) {
return $ n * $ n ;
}
map ([ 4 , 8 ], $ square );
// => [16, 64]
map (( object ) [ ' a ' => 4 , ' b ' => 8 ], $ square );
// => [16, 64] (iteration order is not guaranteed)
$ users = [
[ ' user ' => ' barney ' ],
[ ' user ' => ' fred ' ]
];
// The `property` iteratee shorthand.
map ( $ users , ' user ' );
// => ['barney', 'fred'] Этот метод похож на sortBy за исключением того, что он позволяет указывать порядок сортировки итерируемых объектов. Если orders не указано, все значения сортируются в порядке возрастания. В противном случае укажите порядок сортировки «по убыванию» или «по возрастанию» для соответствующих значений.
Аргументы:
@param (iterable | null) $collection Коллекция, по которой необходимо выполнить итерацию.
@param (array[] | callable[] | string[]) $iteratee Итераторы для сортировки.
@param string[] $orders Порядок сортировки iteratees .
Возвращаться:
@return array новый отсортированный массив.
Пример:
<?php
use function _ orderBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 36 ]
]
// Sort by `user` in ascending order and by `age` in descending order.
orderBy ( $ users , [ ' user ' , ' age ' ], [ ' asc ' , ' desc ' ])
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]] Создает массив элементов, разделенных на две группы, первая из которых содержит predicate элементов, возвращающий truey for, вторая из которых содержит predicate элементов, возвращающий falsey for. Предикат вызывается с одним аргументом: (значение).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array массив сгруппированных элементов.
Пример:
<?php
use function _ partition ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => false ]
];
partition ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for [['fred'], ['barney', 'pebbles']] Сокращает collection до значения, которое является накопленным результатом выполнения каждого элемента collection через iteratee , где при каждом последующем вызове предоставляется возвращаемое значение предыдущего. Если accumulator не указан, в качестве начального значения используется первый элемент collection . Итератор вызывается с четырьмя аргументами: (аккумулятор, значение, индекс | ключ, коллекция).
Многие методы lodash защищены от работы в качестве итераций для таких методов, как reduce , reduceRight и transform .
Защищенными методами являются: assign , defaults , defaultsDeep , includes , merge , orderBy и sortBy
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param mix $iteratee Функция, вызываемая на каждой итерации.
@param Mixed $accumulator Начальное значение.
Возвращаться:
@return Mixed Возвращает накопленное значение.
Пример:
<?php
use function _ reduce ;
reduce ([ 1 , 2 ], function ( $ sum , $ n ) { return $ sum + $ n ; }, 0 )
// => 3
reduce ([ ' a ' => 1 , ' b ' => 2 , ' c ' => 1 ], function ( $ result , $ value , $ key ) {
if (! isset ( $ result [ $ value ])) {
$ result [ $ value ] = [];
}
$ result [ $ value ][] = $ key ;
return $ result ;
}, [])
// => ['1' => ['a', 'c'], '2' => ['b']] (iteration order is not guaranteed) Этот метод похож на reduce , за исключением того, что он перебирает элементы collection справа налево.
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param mix $iteratee Функция, вызываемая на каждой итерации.
@param Mixed $accumulator Начальное значение.
Возвращаться:
@return Mixed Возвращает накопленное значение.
Пример:
<?php
use function _ reduceRight ;
$ array = [[ 0 , 1 ], [ 2 , 3 ], [ 4 , 5 ]];
reduceRight ( array , (flattened, other) => flattened. concat (other), [])
// => [4, 5, 2, 3, 0, 1] Этот метод, противоположный filter возвращает элементы collection , для которых predicate не возвращает истинность.
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param callable $predicate Функция, вызываемая на каждой итерации.
Возвращаться:
@return array новый отфильтрованный массив.
Пример:
<?php
use function _ reject ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
]
reject ( $ users , ' active ' )
// => objects for ['fred'] Получает размер collection , возвращая ее длину для значений массива или количество общедоступных свойств для объектов.
Аргументы:
@param (массив | объект | строка) $collection Коллекция для проверки.
Возвращаться:
@return int Возвращает размер коллекции.
Пример:
<?php
use function _ size ;
size ([ 1 , 2 , 3 ]);
// => 3
size ( new class { public $ a = 1 ; public $ b = 2 ; private $ c = 3 ; });
// => 2
size ( ' pebbles ' );
// => 7 Проверяет, возвращает ли predicate истинность для любого элемента collection . Итерация прекращается, как только predicate возвращает истину. Предикат вызывается с тремя аргументами: (значение, индекс|ключ, коллекция).
Аргументы:
@param iterable $collection Коллекция, по которой необходимо выполнить итерацию.
@param (callable | string | array) $predicate Функция, вызываемая на каждую итерацию.
Возвращаться:
@return boolean Возвращает true , если какой-либо элемент проходит проверку предиката, в противном случае — false .
Пример:
<?php
use function _ some ;
some ([ null , 0 , ' yes ' , false ], , function ( $ value ) { return is_bool ( $ value ); }));
// => true
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
];
// The `matches` iteratee shorthand.
some ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]);
// => false
// The `matchesProperty` iteratee shorthand.
some ( $ users , [ ' active ' , false ]);
// => true
// The `property` iteratee shorthand.
some ( $ users , ' active ' );
// => trueСоздает массив элементов, отсортированный в порядке возрастания по результатам прохождения каждого элемента коллекции через каждую итерацию. Этот метод выполняет стабильную сортировку, то есть сохраняет исходный порядок сортировки равных элементов. Итерации вызываются с одним аргументом: (значение).
Аргументы:
@param (массив | объект | null) $collection Коллекция, по которой необходимо выполнить итерацию.
@param (callable | callable[]) $iteratees Итерации для сортировки.
Возвращаться:
@return array Возвращает новый отсортированный массив.
Пример:
<?php
use function _ sortBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
];
sortBy ( $ users , [ function ( $ o ) { return $ o [ ' user ' ]; }]);
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]]
sortBy ( $ users , [ ' user ' , ' age ' ]);
// => [['user' => 'barney', 'age' => 34], ['user' => 'barney', 'age' => 36], ['user' => 'fred', 'age' => 40], ['user' => 'fred', 'age' => 48]] Получает временную метку количества миллисекунд, прошедших с эпохи Unix (1 января 1970 г., 00:00:00 UTC).
Аргументы:
Возвращаться:
@return int Возвращает метку времени.
Пример:
<?php
use function _ now ;
now ();
// => 1511180325735 Противоположность before ; этот метод создает функцию, которая вызывает функцию func после ее вызова n или более раз.
Аргументы:
@param int $n Число вызовов перед вызовом func .
@param Вызываемая функция $func Ограничиваемая функция.
Возвращаться:
@return Callable Возвращает новую ограниченную функцию.
Пример:
<?php
use function _ after ;
$ saves = [ ' profile ' , ' settings ' ];
$ done = after ( count ( $ saves ), function () {
echo ' done saving! ' ;
});
forEach ( $ saves , function ( $ type ) use ( $ done ) {
asyncSave ([ ' type ' => $ type , ' complete ' => $ done ]);
});
// => Prints 'done saving!' after the two async saves have completed. Создает функцию, вызывающую func , с аргументами до n , игнорируя любые дополнительные аргументы.
Аргументы:
@param callable $func Функция, для которой ограничиваются аргументы.
@param int $n Ограничение арности.
Возвращаться:
@return Callable Возвращает новую ограниченную функцию.
Пример:
<?php
use function _ ary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], ary ( ' intval ' , 1 ));
// => [6, 8, 10] Создает функцию, которая вызывает func с аргументами созданной функции, хотя она вызывается менее n раз. Последующие вызовы созданной функции возвращают результат последнего вызова func .
Аргументы:
@param int $n Число вызовов, при которых func больше не вызывается.
@param callable $func Ограничиваемая функция.
Возвращаться:
@return callable Возвращает новую ограниченную функцию.
Пример:
<?php
use function _ before ;
$ users = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ];
$ result = uniqBy ( map ( $ users , before ( 5 , [ $ repository , ' find ' ])), ' id ' )
// => Fetch up to 4 results. Создает функцию, которая вызывает func с привязкой object this и partials , добавленными к полученным аргументам.
Аргументы:
@param callable $function Функция для привязки.
@param (объект | смешанный) $object Привязка object func .
@param array<int, mix> $partials Аргументы, которые необходимо применить частично.
Возвращаться:
@return callable Возвращает новую связанную функцию.
Пример:
<?php
use function _ bind ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
$ object = $ object = new class {
public $ user = ' fred ' ;
};
$ bound = bind ( ' greet ' , $ object , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!' Создает функцию, которая вызывает метод $function объекта $object с добавлением $partials к полученным аргументам.
Этот метод отличается от bind тем, что позволяет связанным функциям ссылаться на методы, которые могут быть переопределены или еще не существуют.
Аргументы:
@param object $object Объект, для которого вызывается метод.
@param string $function Имя метода.
@param array<int, mix> $partials Аргументы, которые необходимо применить частично.
Возвращаться:
@return callable Возвращает новую связанную функцию.
Пример:
<?php
use function _ bindKey ;
$ object = new class {
private $ user = ' fred ' ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
};
$ bound = bindKey ( $ object , ' greet ' , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!' Создает функцию, которая принимает аргументы func и либо вызывает func возвращая ее результат, если было предоставлено хотя бы arity количество аргументов, либо возвращает функцию, которая принимает оставшиеся аргументы func , и т. д. Арность func может быть указана, если func.length недостаточно.
Значение _.curry.placeholder , которое по умолчанию равно _ в монолитных сборках, может использоваться в качестве заполнителя для предоставленных аргументов.
Примечание. Этот метод не устанавливает свойство «длина» каррированных функций.
Аргументы:
@param callable $func Функция каррирования.
@param (int | null) $arity Арность func .
Возвращаться:
@return callable Возвращает новую каррированную функцию.
Пример:
<?php
use function _ curry ;
$ abc = function ( $ a , $ b , $ c ) {
return [ $ a , $ b , $ c ];
};
$ curried = curry ( $ abc );
$ curried ( 1 )( 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 , 3 );
// => [1, 2, 3]
// Curried with placeholders.
$ curried ( 1 )(_, 3 )( 2 );
// => [1, 2, 3] Вызывает func после миллисекунд wait . Любые дополнительные аргументы передаются функции func при ее вызове.
Аргументы:
@param callable $func Функция для задержки.
@param int $wait Число миллисекунд задержки вызова.
@param array<int, смешанный> $args
Возвращаться:
@return int идентификатор таймера.
Пример:
<?php
use function _ delay ;
delay ( function ( $ text ) {
echo $ text ;
}, 1000 , ' later ' );
// => Echo 'later' after one second. Создает функцию, которая вызывает func с обратными аргументами.
Аргументы:
@param callable $func Функция, для которой переворачиваются аргументы.
Возвращаться:
@return callable Возвращает новую перевернутую функцию.
Пример:
<?php
use function _ flip ;
$ flipped = flip ( function () {
return func_get_args ();
});
flipped ( ' a ' , ' b ' , ' c ' , ' d ' );
// => ['d', 'c', 'b', 'a'] Создает функцию, которая запоминает результат func . Если указан resolver , он определяет ключ кэша для хранения результата на основе аргументов, предоставленных запоминаемой функции. По умолчанию первый аргумент, предоставленный запоминаемой функции, используется в качестве ключа кэша карты.
Примечание. Кэш отображается как свойство cache запоминаемой функции. Его создание можно настроить, заменив конструктор _.memoize.Cache конструктором, экземпляры которого реализуют интерфейс метода Map : clear , delete , get , has и set .
Аргументы:
@param callable $func Функция, вывод которой запоминается.
@param (callable | null) $resolver Функция для разрешения ключа кэша.
Возвращаться:
@return callable Возвращает новую сохраненную функцию.
Пример:
<?php
use function _ memoize ;
$ object = [ ' a ' => 1 , ' b ' => 2 ];
$ other = [ ' c ' => 3 , ' d ' => 4 ];
$ values = memoize ( ' _values ' );
$ values ( $ object );
// => [1, 2]
$ values ( $ other );
// => [3, 4]
$ object [ ' a ' ] = 2 ;
$ values ( $ object );
// => [1, 2]
// Modify the result cache.
$ values -> cache -> set ( $ object , [ ' a ' , ' b ' ]);
$ values ( $ object );
// => ['a', 'b'] Создает функцию, которая отменяет результат предиката func
Аргументы:
@param callable $predicate Предикат, который нужно отменить.
Возвращаться:
@return callable Возвращает новую отрицаемую функцию.
Пример:
<?php
use function _ negate ;
function isEven ( $ n ) {
return $ n % 2 == 0 ;
}
filter ([ 1 , 2 , 3 , 4 , 5 , 6 ], negate ( $ isEven ));
// => [1, 3, 5] Создает функцию, которая может вызывать func только один раз. Повторные вызовы функции возвращают значение первого вызова. func вызывается с аргументами созданной функции.
Аргументы:
@param callable $func Ограничиваемая функция.
Возвращаться:
@return вызывает новую ограниченную функцию.
Пример:
<?php
use function _ once ;
$ initialize = once ( ' createApplication ' );
$ initialize ();
$ initialize ();
// => `createApplication` is invoked once Создает функцию, которая вызывает func с преобразованными аргументами.
Аргументы:
@param callable $func Функция для переноса.
@param callable[] $transforms Аргумент преобразуется.
Возвращаться:
@return вызывает новую функцию.
Пример:
<?php
use function _ overArgs ;
function doubled ( $ n ) {
return $ n * 2 ;
}
function square ( $ n ) {
return $ n * $ n ;
}
$ func = overArgs ( function ( $ x , $ y ) {
return [ $ x , $ y ];
}, [ ' square ' , ' doubled ' ]);
$ func ( 9 , 3 );
// => [81, 6]
$ func ( 10 , 5 );
// => [100, 10] Создает функцию, которая вызывает func с partials , добавленными к полученным аргументам.
Аргументы:
@param callable $func Функция, к которой частично применяются аргументы.
@param array<int, mix> $partials Аргументы, которые необходимо применить частично.
Возвращаться:
@return callable Возвращает новую частично примененную функцию.
Пример:
<?php
use function _ partial ;
function greet ( $ greeting , $ name ) {
return $ greeting . ' ' . $ name ;
}
$ sayHelloTo = partial ( ' greet ' , ' hello ' );
$ sayHelloTo ( ' fred ' );
// => 'hello fred' Создает функцию, которая вызывает func с this привязкой созданной функции и аргументов из start и за его пределами, предоставленной в качестве массива.
Аргументы:
@Param Callable $ func Функция для применения параметра REST.
@Param (int | null) $. Начало начальной позиции параметра REST.
Возвращаться:
@return Callable возвращает новую функцию.
Пример:
<?php
use function _ rest ;
$ say = rest ( function ( $ what , $ names ) {
return $ what . ' ' . implode ( ' , ' , initial ( $ names )) .
( size ( $ names ) > 1 ? ' , & ' : '' ) . last ( $ names );
});
$ say ( ' hello ' , ' fred ' , ' barney ' , ' pebbles ' );
// => 'hello fred, barney, & pebbles' Создает функцию, которая вызывает func с this привязкой функции Create и множеством аргументов, очень похожих на Function#apply .
Примечание. Этот метод основан на операторе спреда.
Аргументы:
@param Callible $ func Функция для распространения аргументов.
@param int $. Начало начальной позиции распространения.
Возвращаться:
@return Callable возвращает новую функцию.
Пример:
<?php
use function _ spread ;
$ say = spread ( function ( $ who , $ what ) {
return $ who . ' says ' . $ what ;
});
$ say ([ ' fred ' , ' hello ' ]);
// => 'fred says hello'Создает функцию, которая принимает до одного аргумента, игнорируя любые дополнительные аргументы.
Аргументы:
@Param Callable $ func Функция для ограничения аргументов для.
Возвращаться:
@return Callable Новая ограниченная функция.
Пример:
<?php
use function _ unary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], unary ( ' intval ' ));
// => [6, 8, 10] Создает функцию, которая обеспечивает value для wrapper в качестве первого аргумента. Любые дополнительные аргументы, предоставленные функции, добавляются к предоставленным в wrapper .
Аргументы:
@Param смешанный $ Значение значения для завершения.
@param Callible $ warpper Функция обертки.
Возвращаться:
@Return Callable Новая функция.
Пример:
<?php
use function _ wrap ;
$ p = wrap ( ' _escape ' , function ( $ func , $ text ) {
return ' <p> ' . $ func ( $ text ) . ' </p> ' ;
});
$ p ( ' fred, barney, & pebbles ' );
// => '<p>fred, barney, & pebbles</p>' Выполняет сравнение между двумя значениями, чтобы определить, эквивалентны ли они.
Аргументы:
@param смешанную $ value значение для сравнения.
@Param Mixed $ Другое другое значение для сравнения.
Возвращаться:
@return Boolean возвращает true если значения эквивалентны, иначе false .
Пример:
<?php
use function _ eq ;
$ object = ( object ) [ ' a ' => 1 ];
$ other = ( object ) [ ' a ' => 1 ];
eq ( $ object , $ object );
// => true
eq ( $ object , $ other );
// => false
eq ( ' a ' , ' a ' );
// => true
eq ([ ' a ' ], ( object ) [ ' a ' ]);
// => false
eq ( INF , INF );
// => trueВыполняет глубокое сравнение между двумя значениями, чтобы определить, эквивалентны ли они.
ПРИМЕЧАНИЕ. Этот метод поддерживает сравнение массивов, логических, объектов DateTime, объектов исключения, SplobjectStorage, чисел, строк, типичных массивов, ресурсов, узлов DOM. Объекты сравниваются своими собственными, а не наследственными, перечисляемыми свойствами.
Аргументы:
@param смешанную $ value значение для сравнения.
@Param Mixed $ Другое другое значение для сравнения.
Возвращаться:
@return Bool возвращает true если значения эквивалентны, иначе false .
Пример:
<?php
use function _ isEqual ;
$ object = [ ' a ' => 1 ]
$ other = [ ' a ' => ' 1 ' ]
isEqual ( $ object , $ other )
// => true
$ object === $ other
// => false Проверяет, является ли value Exception , ParseError , error , Throwable , soapfault , DOMException , pdoexception`, объект.
Аргументы:
@param смешанную $ value значение для проверки.
Возвращаться:
@return Boolean возвращает true если value является объектом ошибки, иначе false .
Пример:
<?php
use function _ isError ;
isError ( new Exception ())
// => true
isError (Exception::Class)
// => false Добавляет два числа.
Аргументы:
@Param (int | float | String) $ Awaring первое число в дополнение.
@Param (int | float | String) $ добавить второй номер в дополнение.
Возвращаться:
@return (int | float) возвращает общее количество.
Пример:
<?php
use function _ add ;
add ( 6 , 4 );
// => 10 Вычисляет максимальное значение array . Если array пуст или falsey, null возвращается.
Аргументы:
@param (массив | null) $ массив массив для переитерации.
Возвращаться:
@return (int | null) возвращает максимальное значение.
Пример:
<?php
use function _ max ;
max ([ 4 , 2 , 8 , 6 ]);
// => 8
max ([]);
// => null Этот метод похож на max за исключением того, что он принимает iteratee , который используется для каждого элемента в array чтобы генерировать критерий, с помощью которого значение ранжируется. Итатерация вызывается одним аргументом: (значение).
Аргументы:
@param массив $ массив массив для итерации.
@Param (Callible | String) $ itatere Итатерация, вызванная на элемент.
Возвращаться:
@return смешанный возвращает максимальное значение.
Пример:
<?php
use function _ maxBy ;
$ objects = [[ ' n ' => 1 ], [ ' n ' => 2 ]];
maxBy ( $ objects , function ( $ o ) { return $ o [ ' n ' ]; });
// => ['n' => 2]
// The `property` iteratee shorthand.
maxBy ( $ objects , ' n ' );
// => ['n' => 2] number зажимов в инклюзивных lower и upper границах.
Аргументы:
@param int $ номер номер для зажима.
@param int $ ниже нижней границы.
@param int $ верхняя граница.
Возвращаться:
@return int возвращает зажатый номер.
Пример:
<?php
use function _ clamp ;
clamp (- 10 , - 5 , 5 )
// => -5
clamp ( 10 , - 5 , 5 )
// => 5 Проверяет, если number между start и до, но не включая, end . Если end не указан, он настроен на start start затем установите на 0 . Если start больше, чем end параметры заменены для поддержки отрицательных диапазонов.
Аргументы:
@param float $ номер номер для проверки.
@param float $ Начните начало диапазона.
@param float $ end Конец диапазона.
Возвращаться:
@return Boolean возвращает true если number находится в диапазоне, иначе false .
Пример:
<?php
use function _ inRange ;
inRange ( 3 , 2 , 4 )
// => true
inRange ( 4 , 8 )
// => true
inRange ( 4 , 2 )
// => false
inRange ( 2 , 2 )
// => false
inRange ( 1.2 , 2 )
// => true
inRange ( 5.2 , 4 )
// => false
inRange (- 3 , - 2 , - 6 )
// => true Производит случайное число между инклюзивными lower и upper границами. Если предоставляется только один аргумент от 0 , а заданное число возвращается. Если floating true , или lower или upper -плавание, вместо целого числа возвращается номер с плавающей запятой.
Аргументы:
@Param (int | float | bool) $ ниже нижней границы.
@Param (int | float | bool) $ верхняя граница.
@param (bool | null) $ floating укажите возвращение номера с плавающей точкой.
Возвращаться:
@return (int | float) возвращает случайное число.
Пример:
<?php
use function _ random ;
random ( 0 , 5 )
// => an integer between 0 and 5
random ( 5 )
// => also an integer between 0 and 5
random ( 5 , true )
// => a floating-point number between 0 and 5
random ( 1.2 , 5.2 )
// => a floating-point number between 1.2 and 5.2 Получает значение на пути объекта. Если разрешенное значение является нулевым, то на его место возвращается defaultValue.
Аргументы:
@param смешанный $ объект Ассоциативный массив или объект для получения значения из
@param (массив | строка) $ path dot разделен или массив строки
@Param Mixed $ defaultValue (необязательно) Значение, возвращаемое для неразрешенных или нулевых значений.
Возвращаться:
@return смешанный возвращает разрешенное значение.
Пример:
<?php
use function _ get ;
$ sampleArray = [ " key1 " => [ " key2 " => [ " key3 " => " val1 " , " key4 " => "" ]]];
get ( $ sampleArray , ' key1.key2.key3 ' );
// => "val1"
get ( $ sampleArray , ' key1.key2.key5 ' , " default " );
// => "default"
get ( $ sampleArray , ' key1.key2.key4 ' , " default " );
// => "" Создает объект, состоящий из свойств выбранного object .
Аргументы:
@param объект $ объект объект исходного.
@Param (String | String []) $ Путекает пути свойства для выбора.
Возвращаться:
@return stdclass возвращает новый объект.
Пример:
<?php
use function _ pick ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' 2 ' , ' c ' => 3 ];
pick ( $ object , [ ' a ' , ' c ' ]);
// => (object) ['a' => 1, 'c' => 3] Создает объект, состоящий из predicate свойств object возвращает правду. Предикат вызывается двумя аргументами: (значение, ключ).
Аргументы:
@Param (Object | null) $ объект.
@Param Callable $ Preficate Функция, вызванная на свойство.
Возвращаться:
@return stdclass возвращает новый объект.
Пример:
<?php
use function _ pickBy ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' abc ' , ' c ' => 3 ];
pickBy (object, ' is_numeric ' );
// => (object) ['a' => 1, 'c' => 3] Создает экземпляр обертки lodash , который завершает value с включенными явными последовательностями цепочки методов. Результат таких последовательностей должен быть развернут с помощью ->value() .
Аргументы:
@Param смешанный $ Значение значения для завершения.
Возвращаться:
@return _ Возвращает новый экземпляр обертки lodash .
Пример:
<?php
use function _ chain ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' pebbles ' , ' age ' => 1 ],
];
$ youngest = chain ( $ users )
-> sortBy ( ' age ' )
-> map ( function ( $ o ) {
return $ o [ ' user ' ] . ' is ' . $ o [ ' age ' ];
})
-> head ()
-> value ();
// => 'pebbles is 1' Преобразует string в корпус верблюда.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает строку верблюда.
Пример:
<?php
use function _ camelCase ;
camelCase ( ' Foo Bar ' )
// => 'fooBar'
camelCase ( ' --foo-bar-- ' )
// => 'fooBar'
camelCase ( ' __FOO_BAR__ ' )
// => 'fooBar' Преобразует первый символ string в верхний чехол и оставшийся в нижний чехол.
Аргументы:
@Param String $ String строка для заглаживания.
Возвращаться:
@return String возвращает капитализированную строку.
Пример:
<?php
use function _ capitalize ;
capitalize ( ' FRED ' )
// => 'Fred' Deburs string путем преобразования [latin-1 добавка] (https => // en.wikipedia.org/wiki/latin-1_supplement_(unicode_block)#character_table) и [latin extended-a] (https => // en.wikipedia. org/wiki/latin_extendend-a) буквы к основным латинским буквам и удалению [комбинируя диакритические метки] (https => // en.wikipedia.org/wiki/combining_diacritical_marks).
Аргументы:
@param String $ String строка для Deburr.
Возвращаться:
@return String возвращает Deburred String.
Пример:
<?php
use function _ deburr ;
deburr ( ' déjà vu ' )
// => 'deja vu' Проверяет, заканчивается ли string данной целевой строкой.
Аргументы:
@Param String $ String строка для проверки.
@Param String $ нацеливаться на строку для поиска.
@param int $ позиция позиции для поиска.
Возвращаться:
@return Boolean возвращает true если string заканчивается target , иначе false .
Пример:
<?php
use function _ endsWith ;
endsWith ( ' abc ' , ' c ' )
// => true
endsWith ( ' abc ' , ' b ' )
// => false
endsWith ( ' abc ' , ' b ' , 2 )
// => true Преобразует символы "&", "<", ">", '' '' и "'" в string в их соответствующие HTML -сущности.
Хотя персонаж «>» сбежал для симметрии, такие символы, как «>» и «/», не нужно сбежать в HTML и не имеют особого значения, если они не являются частью тега или неворота атрибута. См. Статью Матиаса Бивенса (в разделе «Полузащитный забавный факт») для получения более подробной информации.
При работе с HTML вы всегда должны цитировать значения атрибутов, чтобы уменьшить векторы XSS.
Аргументы:
@Param String $ String строка, чтобы сбежать.
Возвращаться:
@return String возвращает сбежавшую строку.
Пример:
<?php
use function _ escape ;
escape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles' Выбегает специальных персонажей RegExp "^", "$", "", ".", "*", "+", "?", "(", ")", ",", "]", "{ ","} "и" | " в string .
Аргументы:
@Param String $ String строка, чтобы сбежать.
Возвращаться:
@return String возвращает сбежавшую строку.
Пример:
<?php
use function _ escapeRegExp ;
escapeRegExp ( ' [lodash](https://lodash.com/) ' )
// => '[lodash](https://lodash.com/)' Преобразует string в корпус Kebab.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String Возвращает строку с кебабом.
Пример:
<?php
use function _ kebabCase ;
kebabCase ( ' Foo Bar ' )
// => 'foo-bar'
kebabCase ( ' fooBar ' )
// => 'foo-bar'
kebabCase ( ' __FOO_BAR__ ' )
// => 'foo-bar' Преобразует string , как пространство, разделенное словами, в нижний регистр.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает нижнюю строку.
Пример:
<?php
use function _ lowerCase ;
lowerCase ( ' --Foo-Bar-- ' )
// => 'foo bar'
lowerCase ( ' fooBar ' )
// => 'foo bar'
lowerCase ( ' __FOO_BAR__ ' )
// => 'foo bar' Преобразует первый символ string в нижний чехол.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает конвертированную строку.
Пример:
<?php
use function _ lowerFirst ;
lowerFirst ( ' Fred ' )
// => 'fred'
lowerFirst ( ' FRED ' )
// => 'fRED' Подушки string слева и правой стороны, если она короче length . Символы закладки усечены, если они не могут быть равномерно разделены по length .
Аргументы:
@param String $ String строка для Pad.
@param int $ длина длины прокладки.
@Param String $ Chars Строка, используемая в качестве прокладки.
Возвращаться:
@return String возвращает мягкую строку.
Пример:
<?php
use function _ pad ;
pad ( ' abc ' , 8 )
// => ' abc '
pad ( ' abc ' , 8 , ' _- ' )
// => '_-abc_-_'
pad ( ' abc ' , 2 )
// => 'abc' Подушки string с правой стороны, если она короче length . Символы заполнения усечены, если они превышают length .
Аргументы:
@param String $ String строка для Pad.
@param int $ длина длины прокладки.
@Param String $ Chars Строка, используемая в качестве прокладки.
Возвращаться:
@return String возвращает мягкую строку.
Пример:
<?php
use function _ padEnd ;
padEnd ( ' abc ' , 6 )
// => 'abc '
padEnd ( ' abc ' , 6 , ' _- ' )
// => 'abc_-_'
padEnd ( ' abc ' , 2 )
// => 'abc' Подушки string с левой стороны, если она короче length . Символы заполнения усечены, если они превышают length .
S аргументы:
@Param String $ string = '' Строка для прокладки.
@param int $ длина длины прокладки.
@Param String $ Chars Строка, используемая в качестве прокладки.
Возвращаться:
@return String возвращает мягкую строку.
Пример:
<?php
use function _ padStart ;
padStart ( ' abc ' , 6 )
// => ' abc'
padStart ( ' abc ' , 6 , ' _- ' )
// => '_-_abc'
padStart ( ' abc ' , 2 )
// => 'abc' Преобразует string в целое число указанного Radix. Если radix undefined или 0 , используется radix 10 , если только string не является шестнадцатеричной, и в этом случае используется radix из 16 .
Примечание. В этом методе используется встроенный целочисленный кастинг PHP, который не обязательно соответствует реализации ES5 parseInt .
Аргументы:
@Param (int | float | String) $ String строка для преобразования.
@param int $ radix radix, чтобы интерпретировать string .
Возвращаться:
@return int возвращает конвертированное целое число.
Пример:
<?php
use function _ parseInt ;
parseInt ( ' 08 ' )
// => 8 Повторяет заданную n .
Аргументы:
@Param String $ String строка, чтобы повторить.
@param int $ n, количество раз, чтобы повторить строку.
Возвращаться:
@return String возвращает повторяющуюся строку.
Пример:
<?php
use function _ repeat ;
repeat ( ' * ' , 3 )
// => '***'
repeat ( ' abc ' , 2 )
// => 'abcabc'
repeat ( ' abc ' , 0 )
// => '' Заменяет совпадения для pattern в string с replacement .
Примечание. Этот метод основан на String#replace .
Аргументы:
@Param String $ String строка для изменения.
@param String $ шаблон шаблон для замены.
@Param (Callible | String) $ Замена замены матча.
Возвращаться:
@return String возвращает измененную строку.
Пример:
<?php
use function _ replace ;
replace ( ' Hi Fred ' , ' Fred ' , ' Barney ' )
// => 'Hi Barney' Преобразует корпус string в змею.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает строку змеи.
Пример:
<?php
use function _ snakeCase ;
snakeCase ( ' Foo Bar ' )
// => 'foo_bar'
snakeCase ( ' fooBar ' )
// => 'foo_bar'
snakeCase ( ' --FOO-BAR-- ' )
// => 'foo_bar' Разбивает string от separator .
Примечание. Этот метод основан на String#split .
Аргументы:
@Param String $ String строка для разделения.
@Param String $ Разделитель разделитель шаблон сепаратора, чтобы разделить.
@param int $ ограничить длину, чтобы усечь результаты.
Возвращаться:
@return Array возвращает сегменты строк.
Пример:
<?php
use function _ split ;
split ( ' a-b-c ' , ' - ' , 2 )
// => ['a', 'b'] Преобразует string в начало корпуса.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает строку Start Cassed.
Пример:
<?php
use function _ startCase ;
startCase ( ' --foo-bar-- ' )
// => 'Foo Bar'
startCase ( ' fooBar ' )
// => 'Foo Bar'
startCase ( ' __FOO_BAR__ ' )
// => 'FOO BAR' Проверяет, начинается ли string с заданной целевой строки.
Аргументы:
@Param String $ String строка для проверки.
@Param String $ нацеливаться на строку для поиска.
@param int $ позиция позиции для поиска.
Возвращаться:
@return Boolean возвращает true если string начинается с target , иначе false .
Пример:
<?php
use function _ startsWith ;
startsWith ( ' abc ' , ' a ' )
// => true
startsWith ( ' abc ' , ' b ' )
// => false
startsWith ( ' abc ' , ' b ' , 1 )
// => true Создает скомпилированную функцию шаблона, которая может интерполировать свойства данных в «интерполяцию» делимитеров, HTML-эскап-интерполированные свойства данных в «Escape» делимитеров и выполнять PHP в «оценке» делимитеров. Свойства данных можно получить в виде свободных переменных в шаблоне. Если заданный объект настройка, он имеет приоритет более чем $templateSettings .
Regexp $ options ['Escape'] = _ :: $ templatesettings ['recave'] html "Escape" Delimiter. Regexp $ options ['reaguate'] = _ :: $ templateSettings ['reaguate'] разделитель «Оценка». Array $ Options ['Imports'] = _ :: $ Templatesettings ['imports'] объект для импорта в шаблон в виде свободных переменных. Regexp $ options ['interpolate'] = _ :: $ templatesettings ['interpolate'] разделитель "interpolate".
Аргументы:
@Param String $ String Строка шаблона.
@param массив $ опции массивы параметров.
Возвращаться:
@return Callable возвращает компилированную функцию шаблона.
Пример:
<?php
use function _ template ;
// Use the "interpolate" delimiter to create a compiled template.
$ compiled = template ( ' hello <%= user %>! ' )
$ compiled ([ ' user ' => ' fred ' ])
// => 'hello fred!'
// Use the HTML "escape" delimiter to escape data property values.
$ compiled = template ( ' <b><%- value %></b> ' )
$ compiled ([ ' value ' => ' <script> ' ])
// => '<b><script></b>'
// Use the "evaluate" delimiter to execute JavaScript and generate HTML.
$ compiled = template ( ' <% foreach($users as $user) { %><li><%- user %></li><% }%> ' )
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use the internal `print` function in "evaluate" delimiters.
$ compiled = template ( ' <% print("hello " + $user)%>! ' )
$ compiled ([ ' user ' => ' barney ' ])
// => 'hello barney!'
// Use backslashes to treat delimiters as plain text.
$ compiled = template ( ' <%= " \ <%- value % \ >" %> ' )
$ compiled ([ ' value ' => ' ignored ' ])
// => '<%- value %>'
// Use the `imports` option to import functions or classes with aliases.
$ text = ' <% all($users, function($user) { %><li><%- user %></li><% })%> '
$ compiled = template( $ text , { ' imports ' : { ' _each ' : ' all ' } })
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use custom template delimiters.
_:: $ templateSettings [ ' interpolate ' ] = ' {{([sS]+?)}} '
$ compiled = template ( ' hello {{ user }}! ' )
$ compiled ([ ' user ' => ' mustache ' ])
// => 'hello mustache!'
// Use the `source` property to access the compiled source of the template
template ( $ mainText )-> source ; Преобразует string в целом в нижний регистр
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает нижнюю строку.
Пример:
<?php
use function _ toLower ;
toLower ( ' --Foo-Bar-- ' )
// => '--foo-bar--'
toLower ( ' fooBar ' )
// => 'foobar'
toLower ( ' __FOO_BAR__ ' )
// => '__foo_bar__' Преобразует string в целом в верхний регистр
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает верхнюю строку.
Пример:
<?php
use function _ toUpper ;
toUpper ( ' --foo-bar-- ' )
// => '--FOO-BAR--'
toUpper ( ' fooBar ' )
// => 'FOOBAR'
toUpper ( ' __foo_bar__ ' )
// => '__FOO_BAR__' Удаляет ведущий и следующий пробел или указанные символы из string .
Аргументы:
@Param String $ String строка для обрезки.
@param String $ chars символы для обрезки.
Возвращаться:
@return String возвращает обрезанную строку.
Пример:
<?php
use function _ trim ;
trim ( ' abc ' )
// => 'abc'
trim ( ' -_-abc-_- ' , ' _- ' )
// => 'abc' Удаляет следующий пробел или указанные символы из string .
Аргументы:
@Param String $ String строка для обрезки.
@param String $ chars символы для обрезки.
Возвращаться:
@return String возвращает обрезанную строку.
Пример:
<?php
use function _ trimEnd ;
trimEnd ( ' abc ' )
// => ' abc'
trimEnd ( ' -_-abc-_- ' , ' _- ' )
// => '-_-abc' Удаляет ведущие пробелы или указанные символы из string .
Аргументы:
@Param String $ String строка для обрезки.
@param String $ chars символы для обрезки.
Возвращаться:
@return String возвращает обрезанную строку.
Пример:
<?php
use function _ trimStart ;
trimStart ( ' abc ' )
// => 'abc '
trimStart ( ' -_-abc-_- ' , ' _- ' )
// => 'abc-_-' Усекает string , если она длиннее заданной максимальной длины строки. Последние символы усеченной строки заменяются строкой пропущения, которая по умолчанию «...».
Длина = 30 максимальная длина строки. Упущение = '...' Строка для указания текста опущена. Разделитель шаблон сепаратора, чтобы усекнуть.
Аргументы:
@Param String $ String строка для усечения.
@param array $ options объект параметров.
Возвращаться:
@return String возвращает усеченную строку.
Пример:
<?php
use function _ truncate ;
truncate ( ' hi-diddly-ho there, neighborino ' )
// => 'hi-diddly-ho there, neighbo...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' '
])
// => 'hi-diddly-ho there,...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' /,? +/ '
])
// => 'hi-diddly-ho there...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' omission ' => ' [...] '
])
// => 'hi-diddly-ho there, neig [...]' Обратное escape Этот метод преобразует HTML -сущности & , < , > , " и ' в string их соответствующих символов.
Аргументы:
@param String $ String строка в Unessape.
Возвращаться:
@return String Возвращает бесчисленную строку.
Пример:
<?php
use function _ unescape ;
unescape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles' Преобразует string , как пространство, разделенное словами, в верхний регистр.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает верхнюю строку.
Пример:
<?php
use function _ upperCase ;
upperCase ( ' --foo-bar ' )
// => 'FOO BAR'
upperCase ( ' fooBar ' )
// => 'FOO BAR'
upperCase ( ' __foo_bar__ ' )
// => 'FOO BAR' Преобразует первый символ string в верхний регистр.
Аргументы:
@Param String $ String строка для преобразования.
Возвращаться:
@return String возвращает конвертированную строку.
Пример:
<?php
use function _ upperFirst ;
upperFirst ( ' fred ' )
// => 'Fred'
upperFirst ( ' FRED ' )
// => 'FRED' Разбивает string в массив его слов.
Аргументы:
@Param String $ String строка для проверки.
@param String $ шаблон шаблон, чтобы соответствовать словам.
Возвращаться:
@return Array возвращает слова string .
Пример:
<?php
use function _ words ;
words ( ' fred, barney, & pebbles ' )
// => ['fred', 'barney', 'pebbles']
words ( ' fred, barney, & pebbles ' , ' /[^, ]+/g ' )
// => ['fred', 'barney', '&', 'pebbles'] Попытки вызвать func , возвращая либо результат, либо объект «Пойма ошибки». Любые дополнительные аргументы предоставляются в func когда он вызывает.
S аргументы:
@param Callable $ func Функция попытка.
@Param Array <Int, смешанный> $ Args Аргументы, с которыми вызывает func .
Возвращаться:
@return (Mixed | Throwable) возвращает результат func или объект ошибки.
Пример:
<?php
use function _ attempt ;
// Avoid throwing errors for invalid PDO data source.
$ elements = attempt ( function () {
new PDO ( null );
});
if ( isError ( $ elements )) {
$ elements = [];
}Проверяет значение, чтобы определить, следует ли возвращать значение по умолчанию на его месте. DefaultValue возвращается, если значение - NAN или NULL.
Аргументы:
@param смешанную $ value любое значение.
@Param Mixed $ Value DefaultValue для возврата, когда $ value Null или NAN
Возвращаться:
@return смешанный возврат value .
Пример:
<?php
use function _ defaultTo ;
$ a = null ;
defaultTo ( $ a , " default " );
// => "default"
$ a = " x " ;
defaultTo ( $ a , " default " );
// => "x"Этот метод возвращает первый аргумент, который он получает.
Аргументы:
@param смешанную $ value любое значение.
Возвращаться:
@return смешанный возврат value .
Пример:
<?php
use function _ identity ;
$ object = [ ' a ' => 1 ];
identity ( $ object ) === $ object ;
// => true Создает функцию, которая возвращает значение по path данного объекта.
Аргументы:
@Param (массив | строка) $ Путь путь к собственности, чтобы получить.
Возвращаться:
@return Callable возвращает новую функцию дохода.
Пример:
<?php
use function _ property ;
$ objects = [
[ ' a ' => [ ' b ' => 2 ] ],
[ ' a ' => [ ' b ' => 1 ] ]
];
map ( $ objects , property ( ' a.b ' ));
// => [2, 1]
map ( sortBy ( $ objects , property ([ ' a ' , ' b ' ])), ' a.b ' );
// => [1, 2]