TRUE if either $a or $b is TRUE, but not both.
E_ALL stands for all errors and warnings, as supported, except of level E_STRICT.
So, error_reporting(E_ALL ^ E_NOTICE) will return FALSE if E_NOTICE is TRUE, because E_ALL includes all E_NOTICE level messages. So, if E_ALL and E_NOTICE are TRUE, the result is FALSE.
If both E_ALL and E_NOTICE are TRUE, then the result will be FALSE, and no errors will be printed.
Edit: Okay, I added it all up π