This commit is contained in:
2025-02-03 18:49:47 +03:00
parent f1a79d66ec
commit dd62ad0ca4
1739 changed files with 154102 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
namespace goodboyalex\php_components_pack\extensions;
/**
* Расширение массивов.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.0
*/
final class ArrayExtension
{
/**
* Удаляет пустые строки в массиве.
*
* @param array $array Исходный массив
* @param bool $reOrder Переиндексировать массив
*
* @return array Результирующим массив без пустых строк
*/
public static function RemoveEmpties (array $array, bool $reOrder = false): array
{
// Удаляем пустые строки
$result = array_filter($array, fn ($value) => !is_null($value) && $value !== '');
// Переиндексируем массив
if ($reOrder)
$result = array_values($result);
// Возвращаем результат
return $result;
}
/**
* Выделяет в смешанном массиве ассоциативный массив
*
* @param array $array Исходный массив
*
* @return array Ассоциативный массив, содержащийся в исходном массиве
*/
public static function GetAssociativePart (array $array): array
{
// Фильтруем массив, оставляя только элементы со строковыми ключами
return array_filter($array, fn ($key) => self::IsStringKey($key), ARRAY_FILTER_USE_KEY);
}
/**
* Функция для проверки, является ли ключ строковым
*
* @param mixed $key Ключ
*
* @return bool Является ли ключ строковым типом
*/
public static function IsStringKey (mixed $key): bool
{
return !is_int($key);
}
}