En un bit de código en el que estoy trabajando, necesito extraer un valor de la base de datos y verificar si es 0
. Originalmente, había escrito esto como:¿Cuál es la mejor comparación con 0 en PHP?
if ($myVal == 0) { ...
Pero cuando miré de nuevo hoy, me di cuenta de un error ahí:
var_dump("foo" == 0); // bool(true)
// and while we're here...
var_dump(intval("foo")); // int(0)
Puesto que este valor proviene de la base de datos, que generalmente significa que será una cadena, así que supongo que podría hacer esto:
if ($myVal === "0")
pero parece contrario a la intuición ya que en realidad quiero que se trata de un número entero, y TH parece mostrar que estamos trabajando con cadenas. (espero que tenga sentido para usted). Además, no debería ser inesperado que cualquier accesoador DB dado arroje valores a su tipo apropiado, dado el tipo de campo.
¿Qué método utilizas para verificar el valor de 0 cuando podría ser una cadena o un int?
+1 Parece muy básico, pero una pregunta sorprendentemente interesante dado el tipo de malabarismo de PHP. – cletus