empty()函数

是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。


劝告各位,千万注意使用empty()函数。
判断字符串是否为空,可以这么判断: if (value=="") ...
    * 格式:bool empty ( mixed var )
    * 功能:检查一个变量是否为空
    * 返回值:
    * 若变量不存在则返回 TRUE
    * 若变量存在且其值为""、0、"0"、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE
    * 若变量存在且值不为""、0、"0"、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE

例如:

double TimeCalculator::end(const string output) const {
    double result = omp_get_wtime() - begin_time;
    if(output.empty() == false) {
        printf("[TIME] %.4fs : %s\n", result, output.c_str());
    }
    return result;
}

output如果不为空则output.empty()=false

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐