Tach!
Ich würde bei ~FALSE genau TRUE erwarten, (-1) wäre auch Ok, selbst ein RECOVERABLE_ERROR wäre Ok.
Warum erwartest du das? PHP ist nicht $andere_sprache. Es besteht kein Zwang, dass ein anderswoher bekanntes Verhalten grundsätzlich kopiert werden muss. Was spricht denn gegen eine einfache Negation? Das ist neben dem Vergleichen auf Gleichheit (also = und Konsorten, aber nicht < oder >) und logischen Verknüpfungen auch der einzig sinnvolle Operator für boolesche Werte. Es ist eher ein logischer Fehler, wenn mit booleschen Werten Rechen- und/oder Bitoperationen vorgenommen werden können. Das hat sich sicher nur als "normal" eingebürgert, weil die Repräsentation boolescher Werte in vor langer Zeit erfundenen Systemen mit Zahlenwerten vorgenommen wurde (was ja bei den begrenzten Kapazitäten der damaligen Systeme durchaus sinnvoll war).
dedlfix.