Dans la programmation PHP, les tableaux sont un type de données très courant et les tableaux doivent souvent être utilisés. Cependant, nous devons parfois exclure certaines clés d’un tableau tout en en conservant d’autres. Cet article explique comment exclure les clés de tableau à l'aide de PHP.
1. Utilisez la fonction unset
La fonction unset peut supprimer une paire clé-valeur si une clé est passée en paramètre à la fonction unset, la clé sera supprimée.
Ce qui suit est un exemple d'utilisation de la fonction unset pour exclure une clé de tableau :
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane' ); unset($my_array['foo']); print_r($my_array); // Array ( [john] => doe [mary] => jane )
Dans l'exemple ci-dessus, la clé 'foo' dans le tableau $my_array est supprimée via la fonction unset. Nous pouvons voir qu'il n'y en a pas. key dans le tableau imprimé La valeur de la clé 'foo'.
Ainsi, nous pouvons utiliser la fonction unset pour les supprimer une par une en parcourant toutes les clés à exclure du tableau.
Ce qui suit est un exemple d'utilisation de la fonction unset pour exclure plusieurs clés de tableau :
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); foreach ($exclude_keys as $key) { unset($my_array[$key]); } print_r($my_array); // Array ( [john] => doe [jane] => smith )
Dans l'exemple ci-dessus, une boucle foreach est utilisée pour parcourir le tableau de clés $exclude_keys à exclure, puis elles sont supprimées du tableau à son tour via la fonction de désarmement.
2. Utilisez la fonction array_diff_key
PHP fournit une fonction très pratique array_diff_key, qui peut être utilisée pour comparer les clés de deux tableaux et renvoyer la différence.
Ce qui suit est un exemple d'utilisation de la fonction array_diff_key pour exclure plusieurs clés de tableau :
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_diff_key($my_array, array_combine($exclude_keys, array_fill(0, count($exclude_keys), null))); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Dans l'exemple ci-dessus, les fonctions array_combine et array_fill sont utilisées pour générer un tableau de longueur égale avec toutes les valeurs nulles, puis la fonction array_diff_key est utilisé pour renvoyer $ La différence entre my_array et le tableau avec toutes les clés vides, c'est-à-dire en excluant toutes les clés du tableau $exclude_keys.
3. Utilisez la fonction array_filter
En PHP, utilisez la fonction array_filter pour filtrer le tableau et renvoyer les éléments du tableau correspondants. Puisqu'il fournit une fonction de rappel, nous pouvons écrire une fonction de rappel pour déterminer si une clé spécifique doit être exclue.
Voici un exemple d'utilisation de la fonction array_filter pour exclure plusieurs clés de tableau :
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_filter($my_array, function($key) use ($exclude_keys) { return !in_array($key, $exclude_keys); }, ARRAY_FILTER_USE_KEY); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Dans l'exemple ci-dessus, nous avons défini une fonction anonyme et lui avons transmis le tableau $exclude_keys à l'aide du mot-clé use. La fonction de cette fonction anonyme est que si une clé de tableau existe dans le tableau $exclude_keys, elle renvoie false, indiquant qu'elle doit être filtrée. Enfin, nous transmettons cette fonction anonyme en fonction de rappel à la fonction array_filter. Lors de l'utilisation de la fonction array_filter, nous spécifions le troisième paramètre comme ARRAY_FILTER_USE_KEY, indiquant que nous souhaitons utiliser la fonction de rappel pour filtrer les clés du tableau.
4. Utilisez les fonctions array_keys et array_diff
Enfin, nous pouvons également utiliser les fonctions array_keys et array_diff pour exclure les clés du tableau. La méthode spécifique consiste à utiliser d'abord la fonction array_keys pour obtenir toutes les clés du tableau, puis à utiliser la fonction array_diff pour obtenir les clés qui doivent être conservées et à utiliser ces clés pour construire un nouveau tableau.
Ce qui suit est un exemple d'utilisation des fonctions array_keys et array_diff pour exclure plusieurs clés de tableau :
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_keys = array_diff(array_keys($my_array), $exclude_keys); $filtered_array = array_intersect_key($my_array, array_combine($filtered_keys, $filtered_keys)); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Dans l'exemple ci-dessus, utilisez d'abord la fonction array_keys pour obtenir toutes les clés de $my_array, puis utilisez la fonction array_diff pour filtrer les clés à conserver. Utilisez ensuite la fonction array_combine pour former les clés filtrées dans un tableau avec les mêmes valeurs de clé, et enfin utilisez la fonction array_intersect_key pour renvoyer le tableau filtré.
Résumé
PHP fournit plusieurs méthodes pour exclure les clés de tableau, et nous pouvons choisir d'utiliser différentes méthodes pour gérer différentes situations réelles. Plus précisément, nous pouvons utiliser les fonctions unset, array_diff_key, array_filter, array_keys et array_diff pour terminer cette opération. Il est important de noter que lors de l’utilisation de ces méthodes, nous devons gérer les clés du tableau avec soin pour éviter de supprimer ou de conserver accidentellement des clés inutiles.
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!