tres signos signo significado significa que programacion para niños interrogacion exclamacion admiracion php variables if-statement boolean-expression negation

php - signos - Signo de exclamación frente a la variable-se necesita aclaración



signos de admiracion e interrogacion (4)

El ! niega true se vuelve falso, y todo lo que se evalúa como falso se convierte en verdadero.

Si está escribiendo PHP y no conoce todos los operadores de memoria ... no debería escribir una sola línea de código hasta que los sepa de memoria:

http://php.net/manual/en/language.operators.php

Estos son conceptos básicos absolutos.

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

¿Qué indica !$var ? ¿Es var false , vacío, no está configurado, etc.?

Aquí hay algunos ejemplos que necesito aprender ...

Ejemplo 1:

$string = ''hello''; $hello = (!empty($string)) ? $string : ''''; if (!$hello) { die(''Variable hello is empty''); }

¿Este ejemplo es válido? ¿Realmente funcionaría la sentencia if si $string estuviera vacía?

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, limité estos if ($var) a variables que solo tienen valores booleanos. Solo necesito saber si estos ejemplos son válidos, así que puedo ampliar el uso de las sentencias if ($var) . Se ven realmente limpios.

Gracias.


Es el operador not booleano, consulte el manual de PHP para obtener más detalles.


Es un probador booleano. Vacío o falso


if(! $a) es lo mismo que if($a == false) . Además, se debe tener en cuenta que la conversión de tipo se lleva a cabo cuando se utiliza el operador == .
Para obtener más detalles, eche un vistazo a la sección "Comparaciones sueltas con ==" aquí . A partir de ahí se deduce que para las cadenas "0" y "" son FALSAS ( "0"==false es VERDADERO y ""==false es VERDADERO).

En cuanto a ejemplos publicados:
Ejemplo 1
Funcionará, pero debe tener en cuenta que tanto "0" como "" son cadenas "vacías".

Ejemplo 2
Funcionará