En este artículo te voy a mostrar cómo saber si una cadena está vacía en PHP de distintas formas, también quitando espacios y caracteres en blanco.
Se dice que una cadena está vacía si es igual a ""
pero para otros casos podría decirse que está vacía si tiene únicamente caracteres blancos como espacios o saltos de línea.
En fin, veremos cómo comprobar que una cadena está vacía en PHP.
Saber si cadena está vacía con PHP
La forma más simples comparando contra ""
así:
<?php
$cadena = "";
if ($cadena === ""){
echo "La cadena está vacía";
}
Una forma más corta es:
<?php
$cadena = "";
if (!$cadena){
echo "La cadena está vacía";
}
Pero no solo vine a enseñarte esa simple comparación.
Saber si cadena tiene caracteres “en blanco”
Ahora veamos otro enfoque. Por ejemplo, esta cadena no se considera vacía:
$cadena = " ";
Tiene un espacio dentro de ella y aunque a nuestros ojos está vacía; para la computadora no.
<?php
$cadena = " ";
if (!$cadena){
echo "La cadena está vacía";
}else{
echo "La cadena NO está vacía";
}
La salida de arriba es: La cadena NO está vacía, cosa errónea
Lo que se puede hacer en esos casos es usar la función trim
para quitar los caracteres invisibles o en blanco.
La siguiente cadena tiene tabulaciones y saltos de línea, pero al pasarla por trim se vuelve una cadena vacía.
<?php
$cadena = "
";
if (trim($cadena) === ""){
echo "La cadena está vacía";
} else {
echo "La cadena NO está vacía";
}
La función trim elimina:
- Espacio simple
- Tabulación
- Salto de línea.
- Retorno de carro.
- El byte NUL
- Tabulación vertical.
Nota: esta función quita esos caracteres del inicio y final de la cadena; no del centro.
trim sirve para quitar también otros caracteres, pero eso lo veremos en otro post. Mientras tanto puedes ver su documentación oficial aquí.