Zusätzlich zu Davids Antwort dachte ich, etwas hinzuzufügen, um ein bisschen mehr Tiefe zu geben.
PHP im Gegensatz zu anderen Programmiersprachen, wenn Sie nicht mit Ihrer Operatoren / Syntax vorsichtig sind, können Sie in knifflige Potholes geraten, wie Sie es erleben.
Wie David sagte,
4 ist auch wahr (weil es nicht null ist), und wahr ist gleich wahr es ist auch größer als oder gleich wahr.
Berücksichtigen Sie dies Wahr ist größer als falsch.
wahr = 1
falsch = 0
Also nimm das zum Beispiel:
%Vor%Das obige gibt
ausDas ist wahr
Aber wenn du das nimmst:
%Vor%Das obige gibt aus:
Dies ist falsch
Das hinzugefügte Gleichheitszeichen, sucht nach einer genauen Übereinstimmung und sucht daher nach integer
1 , anstatt dass PHP 1 als wahr liest.
Ich weiß, das ist ein wenig off-topic, aber wollte nur einige Schlaglöcher erklären, die PHP enthält.
Ich hoffe, das ist etwas Hilfe
Bearbeiten:
Als Antwort auf Ihre Frage:
echo wahr & gt; = 4;
Grund, dass Sie 1 als Ausgabe sehen, ist, weil wahr / falsch als Zahlen interpretiert wird (siehe oben)
Unabhängig davon, ob Sie echo true>=4
oder nur echo true;
php als 1 und false als 0 setzen
4
ist auch true
(weil es nicht null ist), und true
ist gleich true
, also ist es auch größer oder gleich true
.
Wenn ein Bool oder eine Null mit einem anderen als einem String verglichen wird, wird dieses Ding in einen Bool umgewandelt. Siehe die Dokumente .