hai ragione anzi è davvero una brillante idea. E vedo dall'esempio che hai dato che è un errore CATCHABLE: pertanto penso che l'unico modo per tipizzare variabili in PHP sia quello di usare i costrutti try...catch in cui verificare il numero di errore commesso:
Codice PHP:
function prova( $a )
{
try {
$b = string $a;
} catch (Exception $e) {
echo $e->getMessage(), "\n";
}
}
prova( 10 );