No hagas esto...
Código PHP:
Ver originalif ($array[0]== '')
{
echo "nick vacio<br>";
}
if ($array[1]== '')
{
echo "pass vacio <br>";
}
Tratalos como quisieras que te trataran a tí... hay tipos de variables, STRING, NULL, INT, BIGINT, DATE, BOOLEAN etc... etc...
Cada uno requiere de un tipo de validación adecuada para optimizar su "validación"..
te doy 3 ejemplos..
Código PHP:
Ver original//si esta vacio
if (empty($_POST['nick'])) {
echo "nick vacio<br>";
}
//si es NULO
if ($_POST['nick'] == NULL)
{
echo "nick vacio<br>";
}
//o ambos
if (empty($_POST['nick']) || $_POST['nick'] == NULL) {
echo "nick vacio<br>";
}
En escencia superficial, los tres hacen lo mismo, pero la diferencia radica en el tipo de validación que necesitas... una explicación coloquial sería:
El EMPTY o VACIO es si tu campo en la tabla de BD no tiene como propiedad el NOT NULL, puedes no enviar ningún caracter alfanumérico para ser insertado, pero pasa por alto si es que envias un ESPACIO EN BLANCO, y si no quieres dicho espacio en blanco, debes emplear otra función, TRIM() para eliminarlo, caso contrario te cargará el espacio en blanco, aunque para tí sea VACIO, en realidad si carga un valor y ocuparía BYTES de memoria en disco...
El NULL obvia todo esto, es decir, no admite ni siquiera el espacios en blanco, muy útil si tu campo de la BD es NOT NULL...
Por ende si hay diferencias, y eso tener buenas prácticas de programación, ya que se aprende al vuelo y se obvian estas cosas..
Lo que hiciste es muy util cuando quieres comparar valores numéricos o booleanos, como:
Código PHP:
Ver originalif ($_POST['num']== 0)
{
echo "debe cargar otro numero <br>";
}
if ($_POST['acepta']== FALSE)
{
echo "Por favor, acepte los terminos y condiciones. <br>";
}
Puedes leer otra explicación
EN ESTE ENLACE.