PHP4 obsahuje pro logické hodnoty pravda/nepravda separátní datový typ. K dispozici máme konstanty true a false, jejichž názvy nejsou citlivé na velikost písmen. Můžeme proto klidně používat i TRUE, True nebo FaLSe.
Pokud nějakým relačním operátorem porovnáváme dvě hodnoty, a jedna z nich je typu boolean, je na tento typ konvertován i druhý výraz. To v praxi znamená, že například podmínka 10 == true bude pravdivá, protože se hodnota 10 převede na typ boolean.
V PHP3 bylo true pouze konstantou s hodnotou jedna a proto výše uvedená podmínka neplatila. Chápala se jako 10 == 1.
Tato nová vlastnost PHP4 je jedním z mála možných zdrojů nekompatibility se skripty napsanými pro verzi PHP3.