Signo de exclamación delante de la variable - aclaración necesaria

Llevo bastante tiempo trabajando con PHP, pero para mí esto siempre fue un misterio, el uso correcto del signo de exclamación (signo negativo) delante de las variables.

Que hace!$var ¿indicar? Es varfalse, vacio, no establecido etc?

Aquí hay algunos ejemplos que necesito aprender ...

Ejemplo 1:

$string = 'hello';
$hello = (!empty($string)) ? $string : '';

if (!$hello)
{
    die('Variable hello is empty');
}

¿Es este ejemplo válido? ¿Funcionaría la sentencia if si realmente funcionara?$string ¿estaba vacio?

Ejemplo 2:

$int = 5;
$count = (!empty($int)) ? $int : 0;

// Note the positive check here
if ($count)
{
   die('Variable count was not empty');
}

¿Sería este ejemplo válido?

Nunca uso ninguno de los ejemplos anteriores, limito estosif ($var) a variables que solo tienen valores booleanos. Solo necesito saber si estos ejemplos son válidos para poder ampliar el uso delif ($var) declaraciones Se ven muy limpios.

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta