Maison  >  Article  >  développement back-end  >  Comment implémenter le filtrage multi-conditions dans les tableaux PHP (trois méthodes)

Comment implémenter le filtrage multi-conditions dans les tableaux PHP (trois méthodes)

PHPz
PHPzoriginal
2023-04-11 09:16:301707parcourir

Le tableau PHP est une structure de données très puissante qui rend le stockage des données plus simple et plus efficace. Lors de l'écriture de programmes PHP, il est souvent nécessaire de filtrer des tableaux avec plusieurs conditions. Cet article explique comment implémenter le filtrage multi-conditions dans les tableaux PHP.

1. Comprendre les tableaux PHP

Avant d'utiliser les tableaux PHP, vous devez comprendre la structure de base et la méthode de définition des tableaux PHP. Un tableau est une structure de données simple qui peut stocker plusieurs valeurs dans une seule variable. En PHP, les tableaux peuvent être définis à l'aide des deux méthodes suivantes :

  1. Utiliser la fonction array()

Utiliser la fonction array() pour définir un tableau est très simple, il suffit de saisir les valeurs entre parenthèses. Par exemple, le code suivant crée un tableau avec trois éléments :

$my_array = array('apple', 'banana', 'orange');
  1. Utilisation de la notation []

Après PHP 5.4, vous pouvez utiliser la notation [] pour définir des tableaux. Par exemple :

$my_array = ['apple', 'banana', 'orange'];

Grâce aux deux méthodes ci-dessus, vous pouvez créer et initialiser un tableau. Nous verrons ensuite comment utiliser les tableaux PHP pour le filtrage multi-conditions.

2. Implémenter le filtrage multi-conditions

Dans le développement de programmes PHP, il est nécessaire de filtrer les éléments du tableau selon différentes conditions. Par exemple, triez un tableau de notes d'élèves en fonction de différentes matières, affichez uniquement les notes de passage, etc. Les méthodes de filtrage multiconditions couramment utilisées sont présentées ci-dessous.

  1. Utilisez la boucle foreach pour filtrer

L'utilisation de la boucle foreach est la méthode de filtrage multi-conditions la plus basique. Parcourez les éléments du tableau et filtrez en fonction des conditions. Par exemple, le code suivant filtre en fonction des sujets et des scores :

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
foreach ($scores as $score) {
    if ($score['subject'] == 'Math' && $score['score'] >= 80) {
        echo $score['name'] . ' passed Math with score ' . $score['score'] . "<br />";
    }
}

Dans l'exemple ci-dessus, une boucle foreach est utilisée pour parcourir un tableau nommé $scores et imprimer les éléments qui répondent aux critères.

  1. Utilisez la fonction array_filter

La fonction array_filter est une fonction très puissante en PHP, qui peut filtrer les éléments d'un tableau en fonction de conditions spécifiées. Par exemple, le code suivant utilise la fonction array_filter pour filtrer les sujets et les scores :

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
$result = array_filter($scores, function($score) {
    return ($score['subject'] == 'Math' && $score['score'] >= 80);
});
 
print_r($result);

Dans l'exemple ci-dessus, la fonction array_filter est utilisée pour filtrer le tableau $scores et renvoyer les éléments qui remplissent les conditions.

  1. Utilisation de la fonction array_reduce

La fonction array_reduce est une autre fonction très utile en PHP qui permet d'accumuler ou de calculer des éléments dans un tableau. Par exemple, le code suivant utilise la fonction array_reduce pour filtrer les sujets et les scores, et calcule le score total :

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
$result = array_reduce($scores, function($total, $score) {
    if ($score['subject'] == 'Math' && $score['score'] >= 80) {
        $total += $score['score'];
    }
    return $total;
}, 0);
 
echo $result;

Dans l'exemple ci-dessus, la fonction array_reduce est utilisée pour filtrer le tableau $scores et calculer le score total des éléments qui répondent les conditions.

3. Résumé

Ce qui précède présente plusieurs méthodes pour implémenter le filtrage multi-conditions dans les tableaux PHP, notamment l'utilisation de la boucle foreach, de la fonction array_filter et de la fonction array_reduce. Selon différents scénarios d'application, le choix de la méthode appropriée peut rendre l'interrogation des données plus simple et plus efficace. Bien entendu, dans le processus de développement proprement dit, d’autres méthodes peuvent également être combinées pour un dépistage multi-conditions afin d’obtenir de meilleurs résultats.

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