Position actuelle: Accueil> Derniers articles> Filtrage multi-conditions: comment implémenter plusieurs jugements dans array_filter ()

Filtrage multi-conditions: comment implémenter plusieurs jugements dans array_filter ()

M66 2025-06-03

Dans PHP, Array_Filter () est une fonction très pratique qui peut être utilisée pour filtrer les tableaux en fonction d'une fonction de rappel donnée. En règle générale, il est utilisé pour supprimer des éléments dans un tableau qui ne répond pas aux critères. Aujourd'hui, nous plongerons dans la façon d'implémenter plusieurs filtres à l'aide d' Array_Filter () dans PHP.

array_filter () utilisation de base

Tout d'abord, jetons un coup d'œil à l'utilisation de base de la fonction array_filter () . array_filter () reçoit deux paramètres: un tableau et une fonction de rappel. La fonction de rappel jugera chaque élément du tableau et seuls les éléments qui remplissent les conditions seront conservés.

 <?php
$array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
    return $value > 2;
});
print_r($result);
?>

Le résultat de la sortie est:

 Array
(
    [2] => 3
    [3] => 4
    [4] => 5
)

Dans cet exemple, Array_Filter () conserve des éléments supérieurs à 2 selon les conditions de jugement de la fonction de rappel.

Mettre en œuvre plusieurs conditions de filtrage

Si vous souhaitez implémenter plusieurs conditions de filtrage, telles que les éléments de filtrage supérieurs à 2 et sont même des nombres, nous pouvons utiliser les opérateurs logiques && (et) dans la fonction de rappel pour combiner plusieurs conditions.

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, function($value) {
    return $value > 2 && $value % 2 === 0;
});
print_r($result);
?>

Le résultat de la sortie est:

 Array
(
    [3] => 4
    [5] => 6
    [7] => 8
)

Dans cet exemple, Array_Filter () filtre tous les éléments supérieurs à 2 et est même.

Plusieurs filtres utilisant des fonctions personnalisées

Si vos critères de filtre sont complexes ou si vous souhaitez réutiliser la logique du filtre, vous pouvez encapsuler plusieurs critères de filtre dans une fonction personnalisée.

 <?php
function filterConditions($value) {
    return $value > 2 && $value % 2 === 0 && $value < 8;
}

$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, 'filterConditions');
print_r($result);
?>

Le résultat de la sortie est:

 Array
(
    [3] => 4
    [5] => 6
)

Dans cet exemple, nous extrassons la logique du filtre dans la fonction FilterConditions () et l'appelons dans array_filter () . Cela rend non seulement le code plus clair, mais facilite également la réutilisation logique.

Combiné avec d'autres fonctions de tableau

Parfois, nous pouvons avoir besoin de combiner d'autres fonctions de tableau pour effectuer des opérations de filtrage plus complexes. Par exemple, supposons que vous deviez filtrer les éléments dans un tableau qui répond à plusieurs critères et renvoyer les résultats filtrés dans une commande spécifique, vous pouvez d'abord utiliser array_map () pour convertir le tableau, puis utiliser array_filter () pour filtrer.

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$array = array_map(function($value) {
    return $value * 2;  // Multiplier tous les éléments par 2
}, $array);

$result = array_filter($array, function($value) {
    return $value > 5;  // Filtrez plus que 5 Éléments
});
print_r($result);
?>

Le résultat de la sortie est:

 Array
(
    [2] => 6
    [4] => 10
    [6] => 14
    [7] => 16
)

Dans cet exemple, nous utilisons d'abord array_map () pour convertir des éléments dans le tableau, puis utilisons array_filter () pour filtrer les éléments supérieurs à 5.

Résumer

Array_Filter () est un outil très puissant en PHP qui peut nous aider à filtrer les éléments dans un tableau basé sur des conditions spécifiques. Lorsque vous utilisez Array_Filter () , nous pouvons combiner plusieurs conditions et utiliser des fonctions personnalisées pour réaliser des exigences de filtrage plus complexes. De plus, Array_Filter () peut également être utilisé avec d'autres fonctions de tableau, ce qui le rend plus flexible et efficace pour traiter les tableaux.