20250205-1
+ [ObjectArray]: Добавлена функция First для получения первого объекта из массива объектов. + [ObjectArray]: Добавлена функция Last для получения последнего объекта из массива объектов.
This commit is contained in:
@@ -172,7 +172,7 @@ trait ObjectArrayLINQTrait
|
||||
/**
|
||||
* Заменяет данные в строке\ массива.
|
||||
*
|
||||
* @param mixed $setItem Заменяемые элемент.
|
||||
* @param array $setItems Заменяемые элементы.
|
||||
* @param callable $wherePredicate Условие выборки <code>fn (mixed $item): bool</code>, которое проверяет,
|
||||
* подходит элемент или нет.
|
||||
*
|
||||
@@ -280,4 +280,46 @@ trait ObjectArrayLINQTrait
|
||||
// Возвращаем результат
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает первый элемент массива или значение по умолчанию.
|
||||
*
|
||||
* @param mixed|null $default Значение по умолчанию. По умолчанию, null.
|
||||
*
|
||||
* @return mixed|null Возвращает первый элемент массива или значение по умолчанию.
|
||||
*/
|
||||
public function First (mixed $default = null): mixed
|
||||
{
|
||||
// Получение первого элемента
|
||||
$firstElement = reset($this->Container);
|
||||
|
||||
// Проверяем получение
|
||||
if ($firstElement === false)
|
||||
// - возвращаем значение по умолчанию
|
||||
return $default;
|
||||
|
||||
// Возвращаем первый элемент
|
||||
return $firstElement;
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает последний элемент массива или значение по умолчанию.
|
||||
*
|
||||
* @param mixed|null $default Значение по умолчанию. По умолчанию, null.
|
||||
*
|
||||
* @return mixed|null Возвращает последний элемент массива или значение по умолчанию.
|
||||
*/
|
||||
public function Last (mixed $default = null): mixed
|
||||
{
|
||||
// Получение последнего элемента
|
||||
$lastElement = end($this->Container);
|
||||
|
||||
// Проверяем получение
|
||||
if ($lastElement === false)
|
||||
// - возвращаем значение по умолчанию
|
||||
return $default;
|
||||
|
||||
// Возвращаем первый элемент
|
||||
return $lastElement;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user