結果をマージしようとしている権限/グループベースの設定があります。たとえば、ユーザーは次の4つのグループに関連付けられている場合があります。
| username | passwd | email | groups |
| test_user | 9agb9 | test@test.com | 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 |
これらの4つの行(DBクエリから配列として格納されている)の結果を取得し、それらを1つの配列にマージすることを検討しています。これは次のようになります。
| group | perm1 | perm2 | perm3 | perm4 | perm5 | perm5 | perm7 |
| combined | 1 | 1 | 0 | 1 | 2 | 1 | 2 |
各配列の最大値が、結合された配列の値になります。100レコードのうち1つが「2」で、残りが「1」または「0」の場合、結果には「2」が必要です。
array_mergeを見てきましたが、関数に指定された変数の順序に応じて値を保持します。