Ho provato con strval($a) == strval($b) però mi dice che le strighe sono comunque uguali.
Ho provato anche con "-0" == "0" e mi fa lo stesso.. non so che dire... forse la tua soluzione, tra tutte, è l'unica