chore: Аннотации к типам

This commit is contained in:
origami11@yandex.ru 2025-10-23 15:54:14 +03:00
parent 530a3b931d
commit 730a608f9b
27 changed files with 491 additions and 134 deletions

View file

@ -39,7 +39,9 @@ class left {
define('__', '_ARGUMENT_PLACE_');
class partial {
/** @var array<mixed> */
protected $params;
/** @var callable */
protected $fn;
public function __construct($params) {
@ -354,33 +356,37 @@ class Functions {
/**
* Поиск элемента в массиве
* @param mixed $cb сравнение с элементом массива
* @param callable $cb сравнение с элементом массива
* @param array $hs массив в котором ищется значение
*
* @return int|string|null ключ найденого элемента в массиве
*/
static function array_usearch($cb, array $hs, $strict = false) {
foreach($hs as $key => $value) {
if (call_user_func_array($cb, [$value, $key, $strict])) return $key;
if (call_user_func_array($cb, [$value, $key, $strict])) {
return $key;
}
}
return null;
}
/**
* Выбирает все сроки из таблицы с уникальными значениями ключа
* @param string $name Имя ключа
* @param array $table Двухмерный массив
* @example
* key_unique_values ('name', array (array ('name' => 1), array ('name' => 2), array ('name' => 1)))
* => array (1, 2)
* @end example
*
* @param string $name Имя ключа
* @param array $table Двухмерный массив
* @return array Массив с уникальными значениями ключа
*/
static function key_unique_values ($name, $table) {
// Ищем уникальные значения для заданного ключа
$keys = [];
foreach ($table as $row) {
if (!in_array ($row[$name], $keys))
if (!in_array ($row[$name], $keys)) {
$keys[] = $row[$name];
}
}
return $keys;
}