Dans PHP, Array_Diff () est une fonction très pratique qui compare les différences dans les tableaux, les valeurs de retour qui existent dans le premier tableau mais pas dans d'autres tableaux. Ceci est très courant dans des scénarios tels que la comparaison des données, le filtrage d'autorisation, l'analyse du journal, etc. Cependant, la sortie du code n'est souvent pas intuitive, surtout lorsque le contenu du tableau est grand ou que la structure est complexe. Cet article présentera comment afficher l'effet de différence de Array_Diff () plus intuitivement grâce aux outils de visualisation.
Tout d'abord, passons en revue brièvement l'utilisation de Array_Diff () .
<?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "grape"];
$result = array_diff($array1, $array2);
print_r($result);
?>
Le résultat de la sortie est:
Array
(
[0] => apple
[2] => cherry
)
array_diff () renvoie un tableau contenant les éléments dans $ array1 qui ne sont pas dans $ array2 , conservant le nom de clé d'origine.
Pendant le processus de développement, si nous ne comparons que quelques tableaux simplement simplement, la sortie de la console est suffisante. Mais si:
Le tableau est très grand (comme des milliers d'éléments);
Structure complexe (cou, multidimensionnel);
Veulent faire des démonstrations plus intuitives (telles que la rédaction de documents aux collègues ou la rédaction de documents);
Pour le moment, une façon graphique d'afficher ces différences est nécessaire. Cela réduira non seulement les malentendus, mais aidera également à localiser les problèmes plus rapidement.
Nous pouvons convertir le tableau au format JSON, puis le comparer avec l'outil Visual Diff. Voici une méthode recommandée:
Utilisez json_encode () pour convertir un tableau en une chaîne JSON:
<?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "grape"];
$diff = array_diff($array1, $array2);
file_put_contents("array1.json", json_encode($array1, JSON_PRETTY_PRINT));
file_put_contents("array2.json", json_encode($array2, JSON_PRETTY_PRINT));
file_put_contents("diff.json", json_encode($diff, JSON_PRETTY_PRINT));
?>
Ouvrez un site Web de comparaison visuelle JSON, par exemple:
Téléchargez Array1.json et Array2.json , ou collez le contenu directement. L'outil met en évidence quels champs sont différents, nous aidant à comprendre clairement les différences de table
Vous pouvez également afficher les résultats finaux basés sur Diff.json pour une revue facile par les membres de l'équipe.
Si vous ne voulez pas aller sur un site Web tiers à chaque fois, vous pouvez également créer vous-même une page visuelle simple.
<?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "grape"];
$diff = array_diff($array1, $array2);
?>
<!DOCTYPE html>
<html>
<head>
<title>Array Diff Viewer</title>
<style>
body { font-family: Arial; margin: 20px; }
pre { background: #f4f4f4; padding: 10px; }
.diff { color: red; }
</style>
</head>
<body>
<h2>Tableau d'origine1</h2>
<pre><?php echo json_encode($array1, JSON_PRETTY_PRINT); ?></pre>
<h2>Tableau d'origine2</h2>
<pre><?php echo json_encode($array2, JSON_PRETTY_PRINT); ?></pre>
<h2 class="diff">Résultats de la différence</h2>
<pre><?php echo json_encode($diff, JSON_PRETTY_PRINT); ?></pre>
</body>
</html>
Enregistrez ce code sous Array_Diff_Viewer.php , puis accédez-y pour afficher l'effet. Par exemple:
http://m66.net/array_diff_viewer.php
En combinant Array_Diff () avec des outils de visualisation, nous pouvons gérer plus efficacement les différences de tableau. En particulier dans les données multidimensionnelles, la comparaison des journaux et le contrôle de l'autorisation, l'utilisation d'outils tels que JSON Diff rendra le processus de développement plus clair et la collaboration plus fluide. Vous pouvez choisir d'utiliser des outils en ligne ou de créer votre propre page de comparaison légère au besoin, ce qui est flexible et pratique.
J'espère que cet article peut vous aider à mieux comprendre et utiliser Array_Diff () , tout en améliorant votre expérience de traitement des données dans votre projet.
Si vous êtes intéressé par plus d'outils de visualisation PHP, veuillez visiter:
Codage heureux! ????????