Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Ohne die Bedingung zu sehen, kann man zu Fall 1 nicht viel sagen.
Zeilenumbrüche kannste reinmachen wie du lustig bist und so eine Formatierung einführen.
Das hängt vom logischen Zusammenhang ab. Ganz grundsätzlich besteht natürlich immer die Möglichkeit eine Methode anzulegen, die boolean als return type hat und die nichts anderes macht als genau deine Bedingungen zu prüfen (mit Umbrüchen nach jeder Bedingung, für bessere Lesbarkeit).
Damit musst du dann im restlichen Code nur noch diese Methode aufrufen deren Name ja kurz gehalten sein kann.
Btw ist dein letzter Code falsch, denn doppeltes Invertieren hast du wohl nicht beabsichtigt. Wenn $var[1] bereits false ist und deine Bedingung erfüllt, prüfst du doch mit !$clause[1] doch erneut, ob dieser Wert nicht stimmt. Ergo prüfst du auf $var[1] == true.
Ggf. gibst du dem Ganzen noch eine anonyme Funktion mit und kannst variabel überprüfen.
Soll ich alle Werte im Konstruktor erstellen oder kann ich die in die Klasse durch z.B.:
public hash = array();
public hash[] = hash('SHA512', $string[1].date().$string[2]);
setzen?