array_diff(), обработка вложенных элементов

chulim

Новичок
array_diff(), обработка вложенных элементов

Здравствуйте, All
Нужно сравнить $a c $b и в результате получить массив с элементами $a кроме тех, которые совпадут с $b
PHP:
$a=array(array('a1', 'a2'), array('a3', 'a4'), array('a5', 'a6'));
$b=array(array('a3', 'a4'));
//нужно в результате сравнения  получить result
$result=array(array('a1', 'a2'), array('a5', 'a6')));
Так и не понял как от array_diff() добиться такого результата.

СУВЖ, chulim
 

1nDeX

Guest
А зачем столько array-ев в одном array-е...
array_diff() вроде работает только одноARRAYными array-ями :)
 

chulim

Новичок
Если без array_diff()
PHP:
for($i=0; $i<count($a); $i++) 
{ 
if(in_array($a[$i], $b)) 
unset($a[$i]); 
}
то в $a остается один элемент равный элементу из $b

Никто не знает, или вопрос совсем тупой?

СУВЖ, chulim
 

Vanilla

Guest
Попробуй

$dif = array();
foreach($b as $vb) {
for($i=0; $i<count($a); $i++) {
if (!count(array_diff($a[$i], $vb))) $dif[] = $i;
}
}
foreach(array_unique($dif) as $i) unset($a[$i]);

var_dump($a);
 
Сверху