En PHP, incluso si los artículos individuales dentro de una matriz o propiedades de un objeto están vacíos, la matriz u objeto no se evaluará como vacío utilizando la función empty($subject)
. En otras palabras, armar un conjunto de datos que individualmente se prueban como "vacíos" crea un compuesto que no está vacío. utilizar la siguiente función PHP para determinar si los elementos de una matriz o propiedades de un objeto están vacías:
function functionallyEmpty($o)
{
if (empty($o)) return true;
else if (is_numeric($o)) return false;
else if (is_string($o)) return !strlen(trim($o));
else if (is_object($o)) return functionallyEmpty((array)$o);
// If it's an array!
foreach($o as $element)
if (functionallyEmpty($element)) continue;
else return false;
// all good.
return true;
}
Ejemplo de Uso:
$subject = array('', '', '');
empty($subject); // returns false
functionallyEmpty($subject); // returns true
class $Subject {
a => '',
b => array()
}
$theSubject = new Subject();
empty($theSubject); // returns false
functionallyEmpty($theSubject); // returns true
Funciona correctamente para mí en PHP 5.3 en Windows - Me sale 'Error' –
http://stackoverflow.com/questions/4139301/ php-0-as-a-string-with-empty check answer no 2 –
¿El resultado de este código es "Error" o "No hay errores"? –