Position actuelle: Accueil> Derniers articles> Utilisez array_filter () pour préserver uniquement les éléments avec un type booléen vrai

Utilisez array_filter () pour préserver uniquement les éléments avec un type booléen vrai

M66 2025-06-04

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.

Utilisation de base de la fonction array_filter ()

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 .

Exemple 1: utilisation de base

 <?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
)

Conditions personnalisées: seuls les éléments avec une valeur booléenne True sont préservés

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 .

Exemple 2: Utilisez la fonction de rappel pour préserver les éléments avec une valeur booléenne 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
)

Remplacer le nom de domaine URL

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.

Exemple 3: Remplacez le nom de domaine URL par m66.net

 <?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: