Условно существует две таблицы:
1. С значениями дней недели.
2. С конкатенированными (string) значениями дней по id.
+----+---------------+ +-----+------------+
| id | value | | ... | days |
+--------------------+ +------------------+
| 1 | Понедельник | | ... | 1, 2, 3 |
| 2 | Вторник | | ... | 5, 6, 7 |
| 3 | Среда | +-----+------------+
| 4 | Четверг |
| 5 | Пятница |
| 6 | Суббота |
| 7 | Воскресенье |
+----+---------------+
В пых само собой выводятся как два ассоциативных массива.
Array (
[0] =>
[id] => 1,
[value] => Понедельник
[1] =>
[id] => 2,
[value] => Вторник
[2] =>
[id] => 3,
[value] => Среда
[3] =>
[id] => 4,
[value] => Четверг
[4] =>
[id] => 5,
[value] => Пятница
[5] =>
[id] => 6,
[value] => Суббота
[6] =>
[id] => 7,
[value] => Воскресенье
)
Array (
[0] =>
[days] => 1, 2, 3
[1] =>
[days] => 5, 6, 7
)
Подскажите оптимальный способ для сопоставления данных значений в формате таблицы:
+---------------+---------+---------+---+---+---+---+
| Понедельник | Вторник | Среда | X | X | X | X |
+---------------+---------+---------+---------------+
| X | X | X | X | Пятница | Суббота | Воскресенье |
+---------------+---------+---------+---------------+
Желаемый результат получаю, но выглядит он громоздко через - explode, foreach, in_array и if.
Возможно ли это сделать с помощью MySQL или более элегантно в PHP без использования вложенного foreach?