Ich denke, es ist eine Frage des Geschmacks, auch wenn die Verwechslung (fälschlicherweise) zu unerwünschten Verhaltensweisen führen kann:
true && false || false; // returns false
true and false || false; // returns true
Daher ist es sicherer, && und || zu verwenden, da sie den höchsten Vorrang haben. Was die Lesbarkeit angeht, so sind diese Operatoren universell genug.
UPDATE : Zu den Kommentaren, die besagen, dass beide Operationen false zurückgeben ... nun, in der Tat gibt der obige Code nichts zurück, es tut mir leid für die Zweideutigkeit. Zur Klarstellung: Das Verhalten im zweiten Fall hängt davon ab, wie das Ergebnis der Operation verwendet wird. Beobachten Sie, wie die Rangfolge der Operatoren hier ins Spiel kommt:
var_dump(true and false || false); // bool(false)
$a = true and false || false; var_dump($a); // bool(true)
Der Grund dafür $a === true
liegt daran, dass der Zuweisungsoperator Vorrang vor allen logischen Operatoren hat, wie bereits in anderen Antworten sehr gut erklärt wurde.