Au cours du processus de développement, nous rencontrons souvent des situations de liste blanche, c'est-à-dire que nous devons permettre à certains articles de passer et exclure des éléments qui ne sont pas dans la liste blanche. Dans PHP, nous pouvons utiliser la fonction Array_Diff () pour exclure élégamment les éléments spécifiés de la liste blanche, améliorant la simplicité et la lisibilité du code.
Array_Diff () est une fonction très utile qui renvoie un tableau composé de tous les éléments du tableau d'origine, mais exclut les mêmes éléments que ceux dans un ou plusieurs autres tableaux. Dans un scénario de liste blanche, nous utilisons généralement Array_Diff () pour exclure les éléments indésirables des articles autorisés (liste blanche).
Supposons que nous ayons un réseau de listes blanches contenant plusieurs URL, à partir de laquelle nous voulons exclure certaines URL spécifiques.
<?php
// Baisse de liste blanche
$whitelist = [
"http://m66.net/page1",
"http://m66.net/page2",
"http://m66.net/page3",
"http://m66.net/page4",
];
// Besoin d'être exclu URL Tableau
$excludeUrls = [
"http://m66.net/page2",
"http://m66.net/page4",
];
// utiliser array_diff() Exclure spécifié URL
$filteredWhitelist = array_diff($whitelist, $excludeUrls);
// Liste blanche d'exclusion de sortie
print_r($filteredWhitelist);
?>
Sortir:
Array
(
[0] => http://m66.net/page1
[2] => http://m66.net/page3
)
Définir une liste blanche : nous définissons d'abord un tableau de liste blanche qui contient plusieurs URL $ la liste blanche .
Tableau URL exclu : nous définissons ensuite un tableau $ exclusionurls qui contient l'URL que nous voulons exclure.
Utilisez Array_Diff () pour exclure les éléments spécifiés : En appelant la fonction Array_Diff () , nous pouvons exclure toutes les URL dans $ excluants de $ Whitelist et obtenir un nouvel array $ filtetwhitelist , qui est la liste blanche que nous avons exclue.
Résultat de sortie : Enfin, nous utilisons la fonction print_r () pour sortir la liste blanche exclue.
L'un des plus grands avantages de l'utilisation de Array_Diff () est qu'il rend le code plus concis et plus facile à lire. Supposons que vous deviez exclure plusieurs éléments d'un tableau plus grand, et que vous traversez manuellement le tableau un par un et que les éléments d'élimination sembleront très encombrants. Array_Diff () peut effectuer cette tâche avec une simple ligne de code, ce qui rend votre code plus facile à comprendre et à maintenir.
array_diff () compare les éléments dans un tableau basé sur des valeurs plutôt que des clés. Par conséquent, lorsqu'il s'agit de paires de valeurs clés, il est nécessaire de déterminer si la clé doit être conservée ou convertie en un tableau associatif.
array_diff () renvoie un nouveau tableau et le tableau d'origine ne changera pas. Si vous devez modifier le tableau en place, vous pouvez réaffecter le résultat au tableau d'origine.