當前位置: 首頁> 最新文章列表> 可視化工具查看array_diff() 的差異效果

可視化工具查看array_diff() 的差異效果

M66 2025-06-06

在PHP 中, array_diff()是一個非常實用的函數,它用於比較數組的差異,返回在第一個數組中存在但在其他數組中不存在的值。這在數據比對、權限過濾、日誌分析等場景中非常常見。然而,光靠代碼輸出往往不直觀,特別是在數組內容較大或結構複雜的時候。本文將介紹如何通過可視化工具,更加直觀地查看array_diff()的差異效果。

什麼是array_diff()?

首先我們來簡單回顧一下array_diff()的用法。

 <?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "grape"];
$result = array_diff($array1, $array2);

print_r($result);
?>

輸出結果是:

 Array
(
    [0] => apple
    [2] => cherry
)

array_diff()會返回一個數組,包含$array1中那些不在$array2裡的元素,保留原有的鍵名。

為什麼需要可視化工具?

在開發過程中,如果我們只對幾個數組進行簡單對比,控制台輸出已經夠用了。但如果:

  • 數組非常大(比如上千個元素);

  • 結構複雜(嵌套、多維);

  • 想做更直觀的演示(比如給同事或寫文檔);

這時候就需要一種圖形化的方式來展示這些差異。這樣做不僅可以減少誤解,也有助於更快速地定位問題。

使用在線可視化工具:Diff Viewer + JSON

我們可以將數組轉換為JSON 格式,再利用可視化的diff 工具進行對比。這裡推荐一種方法:

步驟一:將PHP 數組轉換為JSON

使用json_encode()將數組轉換成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));
?>

步驟二:使用在線JSON diff 工具

打開一個JSON 可視化對比網站,例如:

上傳array1.jsonarray2.json ,或直接粘貼內容進去。工具會高亮顯示哪些字段不同,幫助我們清楚了解數組差異。

你也可以在diff.json的基礎上展示最後的結果,方便團隊成員審閱。

高級玩法:自建PHP 可視化頁面

如果你不想每次都去第三方網站,也可以自建一個簡單的可視化頁面。

 <?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>原數組1</h2>
    <pre><?php echo json_encode($array1, JSON_PRETTY_PRINT); ?></pre>

    <h2>原數組2</h2>
    <pre><?php echo json_encode($array2, JSON_PRETTY_PRINT); ?></pre>

    <h2 class="diff">差異結果</h2>
    <pre><?php echo json_encode($diff, JSON_PRETTY_PRINT); ?></pre>
</body>
</html>

將此代碼保存為array_diff_viewer.php ,放到服務器後訪問即可查看效果。例如:

 http://m66.net/array_diff_viewer.php

總結

通過array_diff()搭配可視化工具,我們可以更高效地處理數組差異的問題。特別在調試多維數據、日誌比對、權限控制中,使用JSON Diff 等工具會讓開發過程更清晰,協作更順暢。你可以選擇使用在線工具,也可以根據需要自建輕量級的對比頁面,靈活又實用。

希望本文能幫你更好地理解和使用array_diff() ,同時提升你在項目中的數據處理體驗。

如果你對更多PHP 可視化工具感興趣,歡迎訪問:

?? m66.net/tools

祝編碼愉快! ??????