SaferThemeArrayHelpers

La classe SaferThemeArrayHelpers fournit des fonctions utilitaires pour travailler avec des tableaux dans le thème Safer.

Méthodes

map

public static function map(callable $callback, array $array): array

Applique une fonction de rappel à chaque élément d'un tableau et renvoie un nouveau tableau avec les résultats.

  • Paramètres :

    • callable $callback : La fonction de rappel à appliquer à chaque élément.
    • array $array : Le tableau à parcourir.
  • Retour : array Le nouveau tableau avec les résultats de la fonction de rappel appliquée à chaque élément.

reduce

public static function reduce(callable $callback, array $array, $initial = null)

Réduit un tableau à une seule valeur en utilisant une fonction de rappel.

  • Paramètres :

    • callable $callback : La fonction de rappel à appliquer à chaque élément du tableau.
    • array $array : Le tableau à réduire.
    • mixed $initial : La valeur initiale pour la réduction. Par défaut, null.
  • Retour : mixed La valeur réduite.

filter

public static function filter(callable | string $callback, array $array): array

Filtre un tableau en utilisant une fonction de rappel ou un rappel prédéfini.

  • Paramètres :

    • callable|string $callback : La fonction de rappel ou le rappel prédéfini à appliquer à chaque élément du tableau.
    • array $array : Le tableau à filtrer.
  • Retour : array Le tableau filtré.

  • Exceptions :

    • InvalidArgumentException : Si le rappel est une chaîne inconnue.

isAssoc

public static function isAssoc(array $array, bool $emptyIsAssoc = false): bool

Vérifie si un tableau est associatif.

  • Paramètres :

    • array $array : Le tableau à vérifier.
    • bool $emptyIsAssoc : Indique si un tableau vide doit être considéré comme associatif. Par défaut, false.
  • Retour : bool Vrai si le tableau est associatif, sinon faux.

Exemples d'utilisation

map

$array = [1, 2, 3];
$result = SaferThemeArrayHelpers::map(fn($value) => $value * 2, $array);
// $result est [2, 4, 6]

reduce

$array = [1, 2, 3];
$result = SaferThemeArrayHelpers::reduce(fn($carry, $item) => $carry + $item, $array, 0);
// $result est 6

filter

$array = [1, null, 2, '', 3, 0];
$result = SaferThemeArrayHelpers::filter('is_not_null', $array);
// $result est [1, 2, '', 3, 0]

isAssoc

$array = [1 => 1, 2 => 2, 3 => 3];
$isAssoc = SaferThemeArrayHelpers::isAssoc($array);
// $isAssoc est false