1
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
    )
)

我想用名称引用的第二个数组取消设置第一个数组,因为键一直在变化。

我坚持循环使用名称而不是键来删除它。任何帮助深表感谢!

我想删除数组#2 在数组#1 中的任何内容。

Final Array 
Array(
         [0] => Array(
             [id] => 1
             [name] => b
         )
     }
4

1 回答 1

2
$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
        )

)
于 2013-08-12T13:52:37.793 回答