Доброго времени суток! Помогите разобраться с двойным циклом, не пойму почему так происходит. Нужно сформировать массив, в котором нет совпадений по значению другого. Вот код:
$array = array(
array(
'field'=> 'asd2795432',
'id' => '2795432'
),
array(
'field' => 'asd2796079',
'id' => '2796079'
),
array(
'field' => 'asd2793624',
'id' => '2793624'
),
array(
'field' => 'asd27936245',
'id' => '2793645'
)
);
$array2 = array(
'2795432',
'2796079'
);
foreach ($array as $item) {
$value['field'] = $item['field'];
$value['id'] = $item['id'];
foreach ($array2 as $key) {
if ( $key == $value['id'] ) $res[] = $value; //если так выводить, все хорошо! Выводит только то что есть в другом массиве(см. вывод1)
// if ( $key !== $value['id'] ) $res[] = $value; //как только не пробовал, и брейк и if/else(см. вывод2)
}
}
print_r($res);
Вывод 1 :
Array
(
[0] => Array
(
[field] => asd2795432
[id] => 2795432
)
[1] => Array
(
[field] => asd2796079
[id] => 2796079
)
)
Фильтруется по нужным значениям как надо, а вот наоборот почему-то проблема
Вывод 2 (еще и дублируются):
Array
(
[0] => Array
(
[field] => asd2795432
[id] => 2795432
)
[1] => Array
(
[field] => asd2796079
[id] => 2796079
)
[2] => Array
(
[field] => asd2793624
[id] => 2793624
)
[3] => Array
(
[field] => asd2793624
[id] => 2793624
)
[4] => Array
(
[field] => asd27936245
[id] => 2793645
)
[5] => Array
(
[field] => asd27936245
[id] => 2793645
)
)
Предполагаю, что связано что то со ссылками. Но вот понять не могу.
Спасибо!