This commit is contained in:
origami11@yandex.ru 2022-11-22 12:46:15 +03:00
parent 7d35a8f3f0
commit a09fc396d8
9 changed files with 30 additions and 32 deletions

View file

@ -101,7 +101,7 @@ class Functions {
* @param mixed $a
* @param mixed $b
*
* @return array[int]mixed
* @return mixed
*/
static function compose($_rest) {
$closure = new compose(func_get_args());
@ -111,7 +111,7 @@ class Functions {
/**
* Карирование справа
*
* @return array[int]mixed
* @return mixed
*/
static function rcurry($_rest) {
$closure = new right(func_get_args ());
@ -121,7 +121,7 @@ class Functions {
/**
* Карирование слева
*
* @return array[int]mixed
* @return mixed
*/
static function lcurry($_rest) {
$closure = new left(func_get_args ());
@ -133,7 +133,7 @@ class Functions {
* @param mixed $pred Условие по которому разделяется массив
* @param array $lst
*
* @return array[int]mixed
* @return mixed
*/
static function partition($pred, $lst) {
$left = array ();
@ -329,19 +329,20 @@ class Functions {
/**
* Поиск элемента в массиве
* @param function $cb сравнение с элементом массива
* @param array $hs массив в котором ищется значение
* @param mixed $cb сравнение с элементом массива
* @param Array $hs массив в котором ищется значение
*
* @return int|string ключ найденого элемента в массиве
*/
static function array_usearch($cb, array $hs, $strict = false) {
foreach($hs as $key => $value) if (call_user_func_array($cb, array($value, $key, $strict))) return $key;
return null;
}
/**
* Выбирает все сроки из таблицы с уникальными значениями ключа
* @param $name Имя ключа
* @param $table Двухмерный массив
* @param string $name Имя ключа
* @param Array $table Двухмерный массив
* @example
* key_unique_values ('name', array (array ('name' => 1), array ('name' => 2), array ('name' => 1)))
=> array (1, 2)
@ -359,9 +360,9 @@ class Functions {
/**
* Сортировка двумерного массива по заданному ключу
* @param $array Массив
* @param $key Имя ключа по значению которого будет идти сравнение
* @return Отсортированный массив
* @param Array $array Массив
* @param string $key Имя ключа по значению которого будет идти сравнение
* @return Array Отсортированный массив
*/
static function sortOn($array, $key, $fn = 'Functions::__cmp') {
usort ($array, Functions::rcurry($fn, $key));