Предположим, у нас есть массив $outer, и часть его значений, удовлетворяющая (или не удовлетворяющая) какому-либо условию - массив $inner.
Удалить все значения $inner из массива $outer можно так:
foreach ($inner as $innerValue) {
unset( $outer[ array_search($innerValue,$outer) ] );
}