Hola. La admiración o signo de exclamación se utiliza para negar el valor de una variable o una función. Me explico, si tienes una variable que puede tomar dos valores (verdadero o falso) será algo así:
$variable=1 (verdadero) o $variable=0 (falso)
Ahora bien si tu quieres que se ejecute codigo p. ejem cuando el valor de $variable es 1 haces lo siguiente:
Código PHP:
if ($variable) //se asume $variable==1
{
...
}
Si deseas ejecutar codigo cuando el valor sea 0:
Código PHP:
if (!($variable)) //se asume $variable==0
{
.....
}
Esto es porque la condición del IF debe ser SIEMPRE verdadera para que pueda ejecutarse lo que está a continuación, como en el segundo caso $variable==0, al anteponer (!) transformas el valor de la condición en 1 (NO SE MODIFICA EL VALOR DE $VARIABLE, SOLO EL VALOR DE LA CONDICION) y por lo tanto SIEMPRE que tu valor sea 0 ejecutarás el código que está a continuación.
Saludos