Сдаётся мне, здесь путаница в терминологии.
Магический шар мне подсказывает, что ситуация такая. У нас есть два численно индексированных массива, каждый элемент которых представляет собой ассоциативный массив определённого формата. Формат ассоциативных массивов одинаков для всех элементов каждого из численно индексированных массивов.
Тогда код будет примерно таким:
foreach ($secondArray as $secondArrayElement) {
$secondArrayElement = (array)$secondArrayElement; // вы везде пишете "массив", но, судя по вашему примеру, у вас тут объект, а не массив. Поэтому я сделал явное преобразование в массив на случай если была ошибка в формулировке.
$doesExistInFirstArray = false;
foreach ($firstArray as $firstArrayElement) {
if ($firstArrayElement['ID'] == $secondArrayElement['id']) {
$doesExistInFirstArray = true;
break;
}
}
$secondArrayElement['doesExistInFirstArray'] = $doesExistInFirstArray;
}
Код добавит каждому элементу второго массива информацию о том, существует и аналогичный элемент в первом массиве.
Уточните, этого ли вы хотели? Если нет, то постарайтесь разобраться в терминолоии и задать вопрос правильно.
Сейчас он звучит как полнейшая чушь.