У меня есть настройка на основе разрешений/групп, с которой я пытаюсь объединить результаты. Например, пользователь может быть связан с четырьмя группами:
| username | passwd | email | groups |
| test_user | 9agb9 | [email protected] | g1, g2, g3, g4 |
групповая таблица:
| group | perm1 | perm2 | perm3 | perm4 | perm5 | perm5 | perm7 |
| g1 | 1 | 0 | 0 | 0 | 1 | 0 | 2 |
| g2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| g3 | 0 | 1 | 0 | 0 | 2 | 0 | 0 |
| g4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
Я хочу взять результаты этих четырех строк (хранящихся в виде массива из запроса БД) и объединить их в один массив, который будет выглядеть так:
| group | perm1 | perm2 | perm3 | perm4 | perm5 | perm5 | perm7 |
| combined | 1 | 1 | 0 | 1 | 2 | 1 | 2 |
Наибольшее значение из каждого массива становится значением в объединенном массиве. Если 1 из 100 записей - "2", а остальные - "1" или "0", то мне нужно, чтобы в результате было "2".
Я просмотрел array_merge, но он сохраняет значение в зависимости от порядка переменных, указанных в функции.