// с массивом
$products_by_day = array();
foreach($menu as $menu_val)
{
$products_by_day[$menu_val['wday']][] = $this->_getProductById($menu_val['ID']);
}
Хотя там по сути нужно было бы сделать INNER JOIN с menu.menu_id = product.menu_id
Тогда вывелись бы все продукты которые входят в это меню, плюс можно было сделать выборку и еще по другой таблице где указаны дни недели и там уже сверять product.menu_id = date.id и в вывод добавить wday
Тогда бы на выходе получили такой список:
продукт, день недели.
и там уже можно было в цикле пройти и собрать конечный массив для вывода.
Просто если массив вот такой:
продукт -> день недели , не получится отсортировать его. Нужно сначала формировать по дням недели продукты, а потом уже перебирать, так проще оперировать.
В mysql так же можно делать выборку по диапозону даты, типо this week