使用match PHP删除多维数组中的元素

使用match PHP删除多维数组中的元素,php,arrays,multidimensional-array,parent,unset,Php,Arrays,Multidimensional Array,Parent,Unset,我有一个多维数组: [0] => Array ( [id] => 55829 [date] => 2014-09-05 07:00:56 [customer] => Engineering [server] => example [status] => Successful [version] => 1 ) [1] => Array

我有一个多维数组:

[0] => Array
    (
        [id] => 55829
        [date] => 2014-09-05 07:00:56
        [customer] => Engineering
        [server] => example
        [status] => Successful
        [version] => 1
    )

[1] => Array
    (
        [id] => 55776
        [date] => 2014-09-05 06:58:30
        [customer] => Coating
        [server] => example
        [status] => Successful
        [version] => 1
    )
我希望能够在数组中循环,如果第二级“customer”值与此数组中的值匹配:

Array
(
    [0] => Engineering
    [1] => Painting
)
然后,如果存在匹配项,我希望完全删除/取消设置父数组,以便第一个数组将是:

[0] => Array
    (
        [id] => 55776
        [date] => 2014-09-05 06:58:30
        [customer] => Coating
        [server] => example
        [status] => Successful
        [version] => 1
    )

如果
$records
是多维数组,并且
$second\u数组
包含工程/绘画,则以下内容应适用

<?php
foreach( $records as $key => $record )
{
    if( in_array( $record['customer'], $second_array ) )
    {
        unset( $records[ $key ] );  
    }
}
?>

在数组中使用

$array_to_filter = array(array(...));
$array_filter    = array(...);
foreach ($array_to_filter as $key => $value) {
    if (in_array($value['customer'], $array_filter)) {
        unset($array_to_filter['$key']);
    }
}
尝试:

你可以试试:

$arrayBlackList = array('Engineering','Painting');

function shouldKeep($var)
{
    global $arrayBlackList;
    return !in_array($var['customer'],$arrayBlackList);
}

$filtered_array = array_filter($array1, "shouldKeep");
$i=0;

对于($i=0;$i),此答案缺少教育性解释。此答案缺少教育性解释。此答案缺少教育性解释。
$arrayBlackList = array('Engineering','Painting');

function shouldKeep($var)
{
    global $arrayBlackList;
    return !in_array($var['customer'],$arrayBlackList);
}

$filtered_array = array_filter($array1, "shouldKeep");
$i = 0;
for ($i = 0; $i <count($array1) ; $i++) {

   if ($array1[$i]['customer'] == $array2[0] || $array1[$i]['customer'] == $array2[1]) {

       unset($array[$i]);

       // restart
       $i = 0
   }
}