使用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
}
}