Iki (veya daha fazla) diziler Birleştirme ve en yüksek değerler tutmak?

0 Cevap php

Ben sonuçları birleştirmek çalışıyorum izinleri / grup tabanlı kurulum var. Örneğin, bir kullanıcı dört grup ile ilişkili olabilir:

| username  | passwd | email         | groups         |
| test_user | 9agb9  | test@test.com | g1, g2, g3, g4 |

gruplama tablosu:

| 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     |

Ben (DB sorgudan bir dizi olarak depolanır) bu dört satır sonuçlarını almak ve bu gibi görünür bir dizi için onları birleştirmek için arıyorum:

| group    | perm1 | perm2 | perm3 | perm4 | perm5 | perm5 | perm7 |
| combined | 1     | 1     | 0     | 1     | 2     | 1     | 2     |

Her diziden gelen en yüksek değer birleşik dizideki değer olur. 100 kayıtları üzerinden 1 "2" ve dinlenme "1" veya "0" ise o zaman sonuç olarak "2" gerekiyordu.

Ben array_merge baktım, ama işlevi belirtilen değişkenlerin sırasına bağlı olarak değerini tutar.

0 Cevap