public static function isEmpty($value)
    {
        if (!isset($value)) {
            return true;
        } elseif (is_bool($value)) {
            return false;
        } elseif ($value === 0) {
            return false;
        } elseif (empty($value)) {
            return true;
        } elseif (is_object($value) && method_exists($value, 'isEmpty')) {
            return $value->isEmpty();
        } elseif (static::isTraversable($value)) {
            foreach ($value as $k => $val) {
                if (!static::isEmpty($val)) {
                    return false;
                }
            }

            return true;
        }

        return false;
    }
public static function isEmpty($value)
    {
        if (!isset($value)) {
            return true;
        } elseif (is_bool($value)) {
            return false;
        } elseif ($value === 0) {
            return false;
        } elseif (empty($value)) {
            return true;
        } elseif (is_object($value) && method_exists($value, 'isEmpty')) {
            return $value->isEmpty();
        } elseif (static::isTraversable($value)) {
            foreach ($value as $k => $val) {
                if (!static::isEmpty($val)) {
                    return false;
                }
            }

            return true;
        }

        return false;
    }
public static function isEmpty ( $ value ) { if ( ! isset ( $ value ) ) { return true ; } elseif ( is_bool ( $ value ) ) { return false ; } elseif ( $ value === 0 ) { return false ; } elseif ( empty ( $ value ) ) { return true ; } elseif ( is_object ( $ value ) && method_exists ( $ value , 'isEmpty' ) ) { return $ value -> isEmpty ( ) ; } elseif ( static :: isTraversable ( $ value ) ) { foreach ( $ value as $ k => $ val ) { if ( ! static :: isEmpty ( $ val ) ) { return false ; } } return true ; } return false ; }
Determine if a value is empty.

@param string $value The value to check.

@return bool true if empty, false otherwise.
Determine if a value is empty .