По коду вообще непонятно, что с чем сравнивается. Если массивы находятся в переменных $result_days и $result2, то выведется ячейка для каждой пары элементов (т.е. общее количество ячеек будет равно произведению размеров массивов). Вряд ли вы это задумывали.
По основному вопросу: искать что-то в многомерном массиве без индексов малоприятно. Сделайте ключи в массиве, с которым вы сравниваете, например:
$result_days = [
"2019-04-27" => [ "id" => "123", ... ],
...
];
foreach ($result2 as $i2) {
if (array_key_exists($i2['date'], $result_days) {
...