Der binäre UND-Operator

Manchmal sind es die kleinen Dinge, die einem das Leben schwer machen - wie im folgenden Beispiel.

Der Einsatz des binären UND-Operators funktionierte erst richtig nach Anwendung der Funktion intval():
if($sm->getUserRights() & intval(Menu :: getMenuRights( MENUITEM_WORK ))){
    ...
}
Das Problem war, dass die Methode Menu::getMenuRights() die Rechte per mysqli_fetch_assoc() aus der Datenbank ausliest. Diese sind dort zwar als unsigned tinyint deklariert sind, werden aber durch Menu::getMenuRights() nicht als Integerwert, sondern als String zurück gegeben. Mittels intval() wird der Stringwert nun in einen Integerwert konvertiert.

Hätte ich mir den Rückgabewert gleich mittels var_dump() anzeigen lassen, dann hätte ich sofort gesehen, dass es sich um Daten des Typs String handelt. Naja, beim nächsten Mal ist man (hoffentlich) schlauer.
 
 Artikel als Bookmark:
Beitrag wurde bisher 548 mal geöffnet
RA Zabel/Stolze
  • 96 Artikel  (zeigen)
  • 66542 Klicks
  • 56 Kommentare
  • 9 Artikel (2010)  (zeigen)
  • 1855 Klicks (2010)
  • 0 Kommentare (2010)
Freunde / Linkparade (4)