Pendant le développement de PHP, le traitement des tableaux est une exigence très courante. L'un des scénarios typiques est: nous voulons supprimer des éléments dans le tableau avec une valeur booléenne false , comme false , 0 , "" (chaîne vide), null , tableau vide, etc. Pour le moment, la fonction array_filter () est un outil très utile.
Array_Filter () est une fonction intégrée de PHP. Sa fonction consiste à filtrer chaque élément du tableau avec une fonction de rappel et à renvoyer un nouveau tableau de tous les éléments testés par la fonction de rappel. Si la fonction de rappel n'est pas adoptée, elle supprimera automatiquement tous les éléments avec une valeur booléenne de false .
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
$ tableau : le tableau d'origine à filtrer
$ rappel (facultatif): fonction de rappel personnalisée
$ mode (facultatif): peut contrôler si la clé ou la valeur transmise à la fonction de rappel ou les deux
Lorsque nous ne transmettons aucune fonction de rappel, Array_Filter () supprimera toutes les valeurs équivalentes à false dans le tableau par défaut.
$data = [
'name' => 'John',
'age' => 0,
'email' => '',
'is_active' => false,
'preferences' => [],
'bio' => null,
'website' => 'https://m66.net/profile/john'
];
$filtered = array_filter($data);
print_r($filtered);
Array
(
[name] => John
[website] => https://m66.net/profile/john
)
Comme vous pouvez le voir, 0 , '' , false , null , [] sont tous filtrés, ne laissant que des éléments avec une valeur booléenne vraie .
Par exemple, si vous souhaitez supprimer uniquement False and Null et conserver 0 et '' , vous devez personnaliser la fonction de rappel:
$filtered = array_filter($data, function ($value) {
return $value !== false && $value !== null;
});
print_r($filtered);
Cela permet un contrôle plus précis des règles de filtrage.