簡體   English   中英

驗證數組之間的鍵/值對

[英]Verifying key/value pairs between arrays

我有一個“主”陣列,我必須對照主陣列驗證幾個陣列。

主數組是鍵/值對的列表。 其他數組必須由這些對中的一些(或全部)組成, 別無其他

這是一些例子澄清:

$master = [1=>'foo', 2=>'bar', 3=>'baz'];
$good_child = [2=>'bar'];
$wrong_child_1 = [2=>'sparta'];
$wrong_child_2 = [42=>'bar'];

目前,我正在使用以下快速代碼進行驗證:

foreach ($child as $key => $value) {
    if ($master[$key] !== $value) {
        // wrong child
    }
}

您可能已經注意到,上面的$wrong_child_2 (未定義的索引)會失敗,盡管在實際的應用程序中這不是問題(至少現在是這樣)。

我的問題是,會有更好的方法進行這些驗證嗎? 最好沒有循環,而是數組函數。

看看array_diff_assoc

$bad = (bool)count(array_diff_assoc($test_array, $master_array))

換句話說, $test_array不驗證是否存在任何差異,包括索引檢查。

暫無
暫無

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

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