Dans PHP, la fonction Array_Filter () est utilisée pour filtrer les éléments dans un tableau. Grâce à lui, nous pouvons préserver certains éléments du tableau en fonction des conditions personnalisées. Par défaut, Array_Filter () supprimera les éléments avec FALSE dans le tableau, tels que 0 , null , false , une chaîne vide, etc. Pour les tableaux booléens, Array_Filter () supprime automatiquement les éléments des valeurs fausses booléennes, mais si nous avons besoin de contrôler plus précisément que les valeurs sont laissées vraies pendant le traitement, nous pouvons atteindre cette exigence à travers la fonction de rappel.
La fonction array_filter () accepte deux paramètres:
Tableau : le tableau d'origine à filtrer.
Fonction de rappel (facultatif): une fonction personnalisée qui détermine s'il faut préserver les éléments dans un tableau. Si aucune fonction de rappel n'est fournie, array_filter () supprimera tous les éléments avec une valeur booléenne false .
<?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", "PHP"];
$result = array_filter($array); // Comportement par défaut,Supprimer la valeur comme false Éléments
print_r($result);
?>
Dans le code ci-dessus, array_filter () supprimera automatiquement les éléments avec 0 , null , false et vides avec des valeurs fausses , et le résultat renvoyé est:
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[8] => PHP
)
Parfois, nous devons contrôler les conditions de filtrage plus attentivement. Par exemple, seuls les éléments de tableau booléen avec une valeur vraie sont conservés. Pour y parvenir, nous pouvons transmettre une fonction de rappel spécifiquement pour vérifier si l'élément de tableau est un Boolean True .
<?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", true, "PHP"];
$result = array_filter($array, function($value) {
return $value === true; // Seule la valeur booléenne est true Éléments
});
print_r($result);
?>
Dans cet exemple, nous utilisons une fonction de rappel pour vérifier si chaque élément est strictement égal à la valeur booléenne True . De cette façon, seuls les éléments avec une valeur booléenne True seront préservés. Le résultat de la sortie est:
Array
(
[10] => 1
)
S'il y a une URL dans le tableau et le nom de domaine qui doit être remplacé par l'URL est M66.net , nous pouvons combiner array_map () dans la fonction array_filter () ou le traiter dans la fonction de rappel.
<?php
$array = [
"https://example.com/page1",
"http://example.com/page2",
"https://m66.net/page3",
"http://m66.net/page4"
];
// utiliser array_map() Combiné avec le remplacement de la fonction de rappel URL Nom de domaine
$array = array_map(function($url) {
return preg_replace("/https?:\/\/[^\/]+/", "https://m66.net", $url); // Remplacer le nom de domaine
}, $array);
print_r($array);
?>
Dans ce code, nous utilisons array_map () pour itérer sur le tableau et remplacer le nom de domaine de l'URL par des expressions régulières. La sortie finale est: