Mailinglisten-Archive |
Michael Borchers wrote: > Ich habe ein Array an erforderlichen Benutzergruppen > $groups = Array(1, 3, 4, 6) ... > > Eine Funktion checkGroup($user, $group) überprüft in der Datenbank, ob der > aktuelle Benutzer $user einer der erforderlichen Gruppe $group zugewiesen > wurde. > > Ein Benutzer kann mehreren Gruppen zugewiesen werden. > > Einfachste Lösung: > Einmal jeden Eintrag aus $groups Array mit der checkGroup Funktion > durchlaufen lassen - > > foreach($groups as $group) > { > $check = checkGroup($user, $group) > } > > if($check >= 1) gibt dann true zurück, also ist der Benutzer in mind. einer > der erforderlichen Gruppen eingetragen. > > > Gibt es auch ne Mögl. die Schleife nur solange durchlaufen zu lassen, bis > sie das erste Mal "true" zurückliefert?! > > So in der Art while($check != true) ... ?! foreach($groups as $group) { if (($check = checkGroup($user, $group)) ===true) break; } Allerdings wäre es besser du schreibst dein checkGroup um, damit es bei der DB-Afrage direkt mit ORs auf alle Gruppen in der DB aufmal prüft, damit du mit nur einem Query an die DB auskommst. > Yannik
php::bar PHP Wiki - Listenarchive