亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有多維數組的array_diff()

具有多維數組的array_diff()

具有多維數組的array_diff()使用array_diff(),我可以比較和刪除相似的項目,但是如果我有以下數組怎么辦?數組1Array(     [0] => Array         (             [ITEM] => 1         )     [1] => Array         (             [ITEM] => 2         )     [2] => Array         (             [ITEM] => 3         ))ARRAY2Array(     [0] => Array         (             [ITEM] => 2         )     [1] => Array         (             [ITEM] => 3         )     [2] => Array         (             [ITEM] => 1         )     [3] => Array         (             [ITEM] => 4         ))我想過濾掉類似的物品;結果應該返回4.如何重新排列數組以便可以使用array_diff()?
查看完整描述

3 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

您可以使用定義自定義比較功能array_udiff()。

function udiffCompare($a, $b){
    return $a['ITEM'] - $b['ITEM'];}$arrdiff = array_udiff($arr2, $arr1, 'udiffCompare');print_r($arrdiff);

輸出:

Array
(
    [3] => Array
        (
            [ITEM] => 4
        )
)

這使用并保留了數組的現有結構,我認為這是您想要的。


查看完整回答
反對 回復 2019-09-26
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

另一個有趣的json_encode技巧(如果您需要“原始”比較第一級數組中的一些復雜值,可能會很有用):

// Compare all values by a json_encode$diff = array_diff(array_map('json_encode', $array1), array_map('json_encode', $array2));// Json decode the result$diff = array_map('json_decode', $diff);


查看完整回答
反對 回復 2019-09-26
  • 3 回答
  • 0 關注
  • 1038 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號