Les données du tableau peuvent être filtrées en itérant les éléments du tableau avec la boucle en PHP. Cette tâche peut être effectuée très facilement en utilisant la fonction array_filter (). La fonction de rappel définie par l'utilisateur est utilisée dans cette fonction pour filtrer les données. Le tableau renvoyé par cette fonction a conservé la clé du tableau d'origine. Différentes utilisations de la fonction array_filter () ont été montrées dans ce tutoriel.
Syntaxe:
La syntaxe de l'array_filter () est donnée ci-dessous.
Array Array_Filter ($ array, $ callback_function, $ Flag)
- Le premier argument de la fonction est obligatoire et contient un tableau et sera utilisé pour le filtrage.
- Le deuxième argument est facultatif, et c'est une fonction de rappel utilisée pour filtrer les données du tableau.
- Le troisième argument est facultatif, et il peut stocker deux types de valeurs. Une valeur est Array_Filter_Use_Key qui passe la clé du tableau comme l'argument de la fonction de rappel. Une autre valeur peut être array_filter_use_both, qui passe à la fois la clé et la valeur comme l'argument de la fonction de rappel.
- Il renvoie le tableau filtré.
Différentes utilisations des fonctions array_filter () ont été présentées dans la partie suivante du tutoriel.
Exemple-1: filtrez un tableau numérique
Créez un fichier PHP avec le script suivant pour filtrer les valeurs du tableau en fonction d'une condition. Le tableau déclaré dans le script contient des valeurs positives, négatives et nulles. La fonction Array_Filter () a été utilisée dans le script pour récupérer les valeurs négatives du tableau. Ensuite, le réseau filtré a été imprimé.
// déclare un tableau numérique de nombres positifs, négatifs et zéro
$ array = [78, -56, 45, 0, -33, 59, -21];
// Créer un nouveau tableau de nombres négatifs
$ filter_array = array_filter ($ array,
fonction ($ a)
retourner $ a < 0;
));
// imprime le nouveau tableau
Echo "Les nombres négatifs du tableau sont:
"
foreach ($ filter_array comme $ value)
Echo $ valeur."
"
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-2: Filtrez un tableau associatif
Créez un fichier PHP avec le script suivant pour filtrer les valeurs de tableau associatives en fonction d'une condition. Le tableau contient le nom de l'élève comme la clé et la marque comme valeur. La fonction Array_Filter () a été utilisée dans le script pour récupérer ces éléments du tableau où la valeur est supérieure à 79. Ensuite, le réseau filtré a été imprimé.
// déclare un tableau associatif de quatre éléments
$ marks = ["Mir Ali" => 90, "Kamal Hossain" => 78, "Sakil Ahamed" => 82, "Moniruzzaman" => 85];
// Créer un nouveau tableau qui contient un nombre de plus de 79
$ filter_marks = array_filter ($ marks,
fonction ($ mark)
retourner $ mark> 79;
));
// imprime le nouveau tableau
foreach ($ filter_marks comme $ key => $ valeur)
Echo $ key. " obtenu ".$ valeur."
"
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-3: Filtrez un tableau associatif à l'aide d'un objet
Créez un fichier PHP avec le script suivant qui filtrera les valeurs d'un tableau en utilisant l'objet de classe dans la fonction de rappel. Le tableau associatif contient l'ID du demandeur comme clé et «présent» ou «absent» comme valeur. La fonction Array_Filter () filtrera les éléments où les valeurs sont «présentes».
/ * Déclarer une classe pour découvrir les candidats actuels
* en utilisant une méthode * /
chèque de classe
Fonction publique présente ($ Val)
retourner $ val == "présent";
// déclare un tableau associatif de 5 éléments
$ demandeurs = ['08967' => 'présent', '04567' => 'absent', '08923' => 'présent', '03412' => 'absent', '07811' => 'présent'];
/ * Créez un nouveau tableau en utilisant array_filter ()
avec l'objet et la fonction de rappel * /
$ présent_applicants = array_filter ($ candidats,
[nouveau chèque (), «présent»]
));
// imprime le nombre de candidats totaux
Echo "Total Prenants =".Count ($ candidats)."
"
// imprime le nombre de candidats actuels
echo "actuel candidats =".count ($ présent_applicants);
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-4: Filtrez un tableau associatif à l'aide d'un drapeau
Créez un fichier PHP avec le script suivant pour filtrer le tableau basé sur les indicateurs Array_Filter_Use_Key et Array_Filter_Use_Both. La première fonction array_filter () récupérera l'élément du tableau où la valeur de clé est 'Londres'. La deuxième fonction array_filter () récupérera l'élément du tableau où la valeur de clé est 'Kaboul', et la valeur est'Afghanistan'.
// déclare un tableau associatif
$ array = ['Dhaka' => 'Bangladesh', 'Kaboul' => 'Afghanistan', 'Canberra' => 'Australie',
'Beijing' => 'China', 'Londres' => 'Angleterre', 'Washington D.C.'=>' États-Unis '];
// Utilisation de array_filter () avec array_filter_use_key
$ filtered_array1 = array_filter (
$ Array,
fn ($ k) => $ k == 'london', array_filter_use_key);
// imprime la valeur du tableau filtré
foreach ($ filtered_array1 comme $ key => $ valeur)
écho "
Nom du pays: $ Valeur
"
Echo "Nom de la capitale. $ clé
"
// Utilisation de array_filter () avec array_filter_use_both
$ filtered_array2 = array_filter (
$ Array,
fn ($ v, $ k) => $ k == 'kaboul' && $ v == 'afghanistan', array_filter_use_both);
// imprime la valeur du tableau filtré
foreach ($ filtered_array2 comme $ key => $ valeur)
écho "
Nom du pays: $ Valeur
"
Echo "Nom de la capitale. $ clé
"
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-5: filtrez un tableau multidimensionnel
Créez un fichier PHP avec le script suivant qui filtrera les valeurs du tableau bidimensionnel. La fonction array_filter () filtrera ces valeurs du tableau où la valeur du salaire La clé est supérieure à 60000.
// déclare un tableau bidimensionnel
$ employés = [
['name' => 'jafar iqbal', 'email' => 'jafar @ gmail.com ',' salaire '=> 60000],
['name' => 'Mohammed Ali', 'Email' => 'Ali @ gmail.com ',' salaire '=> 55000],
['name' => 'nila akter', 'email' => 'nila @ gmail.com ',' salaire '=> 73000],
['name' => 'Riya Chowdhury', 'email' => 'riya @ gmail.com ',' salaire '=> 80000]];
// Filtrez les valeurs du tableau en fonction du salaire
$ filterred_employees = array_filter ($ employés, fonction ($ array)
// retourne les employés dont le salaire est plus de 60000
if ($ array ['salaire']> 60000)
retourner $ array;
);
// imprime le tableau filtré
écho '
';;
print_r ($ filterred_employees);
écho '
';;
?>
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Conclusion:
La fonction Array_Filter () peut filtrer les valeurs de tableau différemment en utilisant la fonction de rappel avec ou sans la valeur de l'indicateur. Les façons de filtrer les tableaux numériques et associatifs unidimensionnels et bidimensionnels ont été montrés dans les exemples de ce tutoriel. J'espère que les utilisateurs de PHP pourront filtrer les valeurs en fonction de leurs exigences après avoir lu ce tutoriel.