簡體   English   中英

如何在PHP中找到兩個數組之間的差異?

[英]How to find difference between two arrays in PHP?

這是數組1:

Array ( [ABC01] => 10.123.456.78
        [ABC02] => 10.123.456.79
        [ABC03] => 10.123.456.80
        [ZYX99] => 10.123.456.81
      )

這是數組2:

Array ( [0] => ABC01
        [1] => ABC02
        [2] => ABC03
      )

我試圖找到這兩個數組之間的區別,並返回以下內容(如您所見,主機名,然后是數組2中找不到的項目的相應IP地址):

Array ( [ZYX99] => 10.123.456.81)

我一直在研究不同的PHP數組函數,但對它們的數量感到不知所措: http : //www.w3schools.com/php/php_ref_array.asp

這應該為您工作:

(這里我只是使用array_diff_key()來獲取鍵的差。我使用array_flip()翻轉了第二個數組,以便將值更改為鍵)

<?php

    $arr1 = array(
            "ABC01" => "10.123.456.78",
            "ABC02" => "10.123.456.79",
            "ABC03" => "10.123.456.80",
            "ZYX99" => "10.123.456.81"
    );

    $arr2 = array("ABC01", "ABC02", "ABC03");

    $result = array_diff_key ($arr1, array_flip($arr2));
    print_r($result);

?>

輸出:

Array ( [ZYX99] => 10.123.456.81 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM