PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : If Condition Abfrage


MikeD
25.12.2006, 00:36
Ist einer von Euch mal bitte so nett und erklärt mir mal was es eigentlich mit diesen "||" in dieser Abfrage auf sich hat? :peinlich

PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Wo liegt denn da der Unterschied mit dieser Abfrage hier?
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Surviver
25.12.2006, 08:38
Das gehört zu den logischen Operatoren. || bedeutet ein logisches ODER.

Hier gibts ne Übersicht. http://manuals.phpforum.de/php/language.operators.logical.php

Nein, || = OR && = AND

Aber man sollte immer OR und AND auschreiben


Der Unterschied dieser beiden Versionen liegt darin, dass dsa 2. Kürzer efektiver und sauberer ist :)

Gruß Surviver

MikeD
25.12.2006, 11:41
Aha. Also ist der 2. Weg mit den Arrays effektiver. Vielen Dank, Jungs :winke:

Andreas
25.12.2006, 15:35
|| ist wie schon erwähnt ein logisches ODER und äquivalent mit OR.
Gemäß der vBulletin Code Standards sollte man aber OR anstatt || verwenden - das sorgt dann auch dafür dass nicht faäschlicherweise | (bitweises ODER) eingesetzt wird, was zu falschem Verhalten führen kann.

Der Unterschied der geposteten Konstrukte liegt darain, dass is_member_of() auch sekundäre Benutzergruppen prüft.
Rein von der Performance her ist der erste Schnipsel schneller da das reine bool'sche Arithmetik ist, während is_member_of() mit Arrays arbeitet und somit langsamer ist - leistet aber wie erwähnt aber auch mehr.

MikeD
25.12.2006, 21:16
Meinen herzlichsten Dank für Deine ausführliche Beschreibung, Merlin :smiley:

PS: Mal was anderes: In letzter Zeit ist mir aufgefallen, das Du verdammt viel Ahnung von dieser Materie hast, aber selbst oft im Hintergrund bleibst. Damit meine ich: Jemand wie Du mit Deinen spitzen Kenntnissen müßte doch die Schublade voller selbstgeschriebener Hacks haben, oder?