Вы можете использовать рекурсию здесь;см. встроенный документ.
function custom($firstArray, $secondArray)
{
foreach ($firstArray as $key => $value) {
if (is_array($value)) {
// check if value still got array if so, callback
$firstArray[$key] = custom($value, $secondArray);
} elseif (in_array($value, $secondArray)) {
// if got value as leaf then check with secondArray, if exist unset,
unset($firstArray[$key]);
}
}
return $firstArray;
}
$new = custom($firstArray, $secondArray);
print_r($new);
Демо
Выход
Array
(
[1] => Array
(
[MemberList] => Array
(
[1] => 5d6
[2] => 5d7
)
)
[3] => Array
(
[MemberList] => Array
(
[0] => 5d8
)
)
)