If you want the shortest possible code, XOR the boolean with 1:
$boolean ^= 1;
Strictly this returns an int not a boolean. It doesn't work the same way as $boolean = !$boolean (and is slightly less efficient) but for most purposes it should do the job.
Curiously, the obvious seems to be the 3rd in performance. XOR is a bit faster than logical complement (negation), and this last seems to be almost similar to the not equal operator that I added to the party.