簡體   English   中英

用另一個值比鍵大的多維數組取消多維數組的設置

[英]Unset a multidimensional array with another multidimensional array with values than key

Array#1     
Array(
        [0] => Array(
            [id] => 0
            [name] => a
        )
        [1] => Array(
            [id] => 1
            [name] => b
        )
        [2] => Array(
            [id] => 2
            [name] => c
        )
    )

Array #2
Array(
    [0] => Array(
        [id] => 0
        [name] => c
    )
    [1] => Array(
        [id] => 1
        [name] => a
    )
)

我想用名稱引用第二個數組來取消設置第一個數組,因為鍵一直在變化。

我堅持循環使用此名稱而不是鍵來刪除它。 任何幫助深表感謝!

我想刪除array#1中的所有array#2。

Final Array 
Array(
         [0] => Array(
             [id] => 1
             [name] => b
         )
     }
$arr = Array(
    0 => array(
        'id' => 0,
        'name' => 'a'),
    1 => array(
        'id' => 1,
        'name' => 'b'),
    2 => array(
        'id' => 2,
        'name' => 'c'));
$arr2 = Array(
    0 => array(
        'id' => 0,
        'name' => 'c'),
    1 => array(
        'id' => 1,
        'name' => 'a'));


$ex = array_map(function($a) {return $a['name'];}, $arr2);
foreach ($arr as $key => $value){
    if (in_array($value['name'], $ex)){
        unset($arr[$key]);
    }
}
print_r($arr);

輸出:

Array
(
    [1] => Array
        (
            [id] => 1
            [name] => b
        )

)

暫無
暫無

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

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