Position actuelle: Accueil> Derniers articles> Couplé à Array_Filter pour implémenter le filtrage conditionnel et la fusion

Couplé à Array_Filter pour implémenter le filtrage conditionnel et la fusion

M66 2025-05-15

Dans PHP, Array_Combine et Array_Filter sont deux fonctions très pratiques qui peuvent nous aider à effectuer des tâches complexes lors du traitement des tableaux. Aujourd'hui, nous explorerons comment utiliser ces deux fonctions ensemble pour réaliser le fonctionnement du filtrage en fonction des conditions, puis la fusion des tableaux.

1. Introduction à la fonction Array_Combine

La fonction Array_Combine est utilisée pour combiner deux tableaux dans un tableau associatif. Son premier paramètre est le nom de clé du tableau, et le deuxième paramètre est la valeur du tableau. Il est nécessaire que les longueurs des deux tableaux soient les mêmes, sinon FAUX sera retourné.

Exemple:

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$combined = array_combine($keys, $values);
print_r($combined);

Sortir:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

2. Introduction à la fonction array_filter

La fonction Array_Filter est utilisée pour filtrer les éléments dans un tableau et déterminer quels éléments sont conservés et quels éléments sont supprimés en fonction de la fonction de rappel donnée Renvoie True ou False . Si aucune fonction de rappel n'est transmise, elle supprime l'élément avec une valeur de faux .

Exemple:

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

Sortir:

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

Dans l'exemple ci-dessus, Array_Filter filtre les éléments supérieurs à 2 via la fonction de rappel.

3. Combinez Array_Combine et Array_Filter pour terminer le filtrage

Maintenant, nous pouvons combiner array_combine et array_filter , filtrez d'abord des éléments qui ne répondent pas aux critères, puis les fusionnent dans un tableau associatif via array_combine .

Supposons que nous ayons un tableau de noms de clés et un tableau de valeurs, nous voulons filtrer certains éléments dans le tableau de valeurs en fonction de certaines conditions, puis fusionner les paires de valeurs clés filtrées dans un nouveau tableau.

Exemple:

 $keys = ['a', 'b', 'c', 'd'];
$values = [10, 20, 5, 15];

// Filtre d'abord la valeur est inférieure à 10 Éléments
$filtered_values = array_filter($values, function($value) {
    return $value >= 10;
});

// Combinez la valeur filtrée avec le numéro de nom de clé
$combined = array_combine($keys, $filtered_values);
print_r($combined);

Sortir:

 Array
(
    [a] => 10
    [b] => 20
    [d] => 15
)

expliquer:

  1. Nous utilisons Array_Filter pour filtrer les éléments avec des valeurs inférieures à 10.

  2. Ensuite, utilisez Array_Combine pour fusionner le tableau de nom de clé $ touches et le tableau de valeur filtrée $ filtered_values ​​dans un nouveau tableau associatif.

Avis:

  • Les deux tableaux de Array_Combine doivent avoir la même longueur, sinon FAUX sera retourné. Par conséquent, dans les applications pratiques, nous devons nous assurer que le tableau de valeur filtré et le tableau de nom de clé ont la même longueur.

  • Lorsque vous utilisez Array_Filter , il conserve les touches dans le tableau d'origine, vous pouvez donc avoir des problèmes d'appel Array_combine . Si nous devons garder la commande cohérente, nous pouvons utiliser array_values ​​pour réinitialiser les clés du tableau:

 $filtered_values = array_values($filtered_values);

Cela garantit que les clés du tableau commencent à 0 et que la longueur correspond.

4. Résumé

En combinant Array_Combine et Array_Filter , nous pouvons implémenter de manière flexible la fonction de filtrage en fonction des conditions, puis de fusion des tableaux. Cette méthode peut nous aider à effectuer des opérations de filtrage et de fusion efficaces lors du traitement des données, et est particulièrement adapté aux scénarios où les structures de données doivent être ajustées en fonction des conditions dynamiques.

J'espère que grâce à ce tutoriel, vous pouvez mieux comprendre l'utilisation de ces deux fonctions et être appliqué de manière flexible aux projets réels.