Maison >développement back-end >tutoriel php >Comment puis-je filtrer un tableau PHP pour conserver uniquement les éléments avec une valeur spécifique, en préservant les clés d'origine ?

Comment puis-je filtrer un tableau PHP pour conserver uniquement les éléments avec une valeur spécifique, en préservant les clés d'origine ?

DDD
DDDoriginal
2024-12-23 21:06:11898parcourir

How Can I Filter a PHP Array to Keep Only Elements with a Specific Value, Preserving Original Keys?

Filtrer un tableau en fonction d'une condition de valeur avec PHP

Un tableau peut être filtré en fonction d'une condition spécifiée à l'aide des fonctions PHP intégrées . Considérons le scénario suivant :

Objectif :

Filtrer un tableau pour conserver les éléments dont la valeur est égale à 2 et supprimer tous les autres, en préservant les clés d'origine.

Tableau d'origine :

$fullArray = array('a' => 2, 'b' => 4, 'c' => 2, 'd' => 5, 'e' => 6, 'f' => 2);

Attendu Résultat :

array('a' => 2, 'c' => 2, 'f' => 2);

Solution :

Pour y parvenir, nous pouvons utiliser la fonction array_filter() avec une fonction de rappel personnalisée qui évalue la condition de valeur . Voici un exemple :

function filterArray($value){
    return ($value == 2);
}

$filteredArray = array_filter($fullArray, 'filterArray');

foreach($filteredArray as $k => $v){
    echo "$k = $v";
}

Dans cette solution :

  • La fonction filterArray() sert de fonction de rappel pour array_filter(), testant la valeur de chaque élément par rapport à la condition (renvoie true pour l'égalité à 2).
  • La fonction array_filter() applique le rappel à chaque élément et renvoie un nouveau tableau contenant uniquement les éléments qui passer la condition.
  • Le $filteredArray résultant contient les éléments souhaités avec les clés d'origine conservées.
  • Enfin, une boucle parcourt le tableau filtré pour afficher les éléments filtrés.

Cette solution fournit un moyen simple et efficace de filtrer un tableau en fonction d'une condition de valeur spécifique, en conservant les clés d'origine, atteignant ainsi le résultat souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn