2025-02-03 18:49:47 +03:00

60 lines
1.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}