In jedem etwas komplexeren Script kommen if-Abfragen vor, oftmals auch mit mehreren Bedingungen verknüpft, und zwar mit AND oder OR, bzw. deren Equivalent && oder ||. Aber sind diese wirklich komplett gleich? Macht es auch von der Geschwindigkeit keinen Unterschied? Ich habe es unter die Lupe genommen.Weil es bei meinem letzten Beitrag soviel Kritik gab, weil ich zu wenig Angaben zu dem Test gemacht habe, mach ich diese jetzt direkt am Anfang, damit ich es nicht wieder vergesse *g*
Jede Abfrage wird 10.000 mal ausgeführt. Bei einer erfolgreichen Bedingung wird in der Abfrage nichts ausgeführt.
Die Codes:
if($var == 'a' AND $var2 == 'b'){ } if($var == 'a' && $var2 == 'b'){ } if($var == 'a' OR $var2 == 'b'){ } if($var == 'a' || $var2 == 'b'){ }
Die Ergebnisse:
Benchmark AND/&&
| Was? | Laufzeit in s | Verhältnis zum Schnellsten |
|---|---|---|
| && | 0.00482296943665 | 100% |
| AND | 0.00491499900818 | 101.9% |
Benchmark OR/||
| Was? | Laufzeit in s | Verhältnis zum Schnellsten |
|---|---|---|
| || | 0.00355005264282 | 100% |
| OR | 0.00364589691162 | 102.7% |
Wie man also sieht, sind && und || schneller als AND und OR, aber auch nur minimal.
Ich persönlich werde weiterhin AND und OR benutzen, weil ich es einfacher zu schreiben finde ![]()

