PHP中判断变量值是不是为空的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中判断变量值是不是为空的问题相关的知识,希望对你有一定的参考价值。

因为不懂php,所以问这么菜鸟的问题。
if(!empty($a))和if($a=='')是否一样。有没有什么区别?谢谢大家

if (isset($obj))
echo "This var is set set so I will print.";


isset函数是检测变量是否设置。

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\\0″)并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
参考技术A 有区别的:
if($a=='')只能判断变量$a是否为空字符串。
empty()函数可以判断变量的值是否为空字符串、数值0或者null三种情况。本回答被提问者和网友采纳

Selenium Python 检查变量值是不是不为空。我得到 False 但有一个价值

【中文标题】Selenium Python 检查变量值是不是不为空。我得到 False 但有一个价值【英文标题】:Selenium Python check if variable value is not blank. I am getting False but there is a valueSelenium Python 检查变量值是否不为空。我得到 False 但有一个价值 【发布时间】:2016-04-24 15:17:14 【问题描述】:

我有一个检查变量是否为空的函数。如果变量确实有值,我希望函数返回 True。 如果变量没有分配值,我希望函数返回 False。

如果有值,我的函数将返回 False。如果变量有值,我希望函数返回 True。 我的逻辑似乎不正确。我需要一些帮助来解决问题。

我的功能是:

def is_view_report_showing_results(self):
    usn_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[3]')
    source_fields_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[4]')
    #return (usn_row_cell1_element.text is not None) and (source_fields_row_cell1_element.text is not None)
    return not (usn_row_cell1_element.text == "") and (source_fields_row_cell1_element.text == "")

self.assertTrue(reports_view_results_page.is_view_report_showing_results(), "Problem with viewing report. Please see log for details")

变量usn_row_cell1_element中的值为字符串值“2” 变量source_fields_row_cell1_element中的值是一个字符串“地址”

我打算这样试试:

def is_view_report_showing_results3(self):
    usn_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[3]')
    source_fields_row_cell1_element = self.get_element(By.XPATH, '//table[@id="reporting_view_report_dg_main_body"]/tbody/tr[1]/td[4]')
    #return (usn_row_cell1_element.text is not None) and (source_fields_row_cell1_element.text is not None)
    if (usn_row_cell1_element.text == "") and (source_fields_row_cell1_element.text == "") == False:
        return False
    else:
        return True

谢谢,里亚兹

【问题讨论】:

【参考方案1】:

只需检查值的"truthiness":

return usn_row_cell1_element.text and source_fields_row_cell1_element.text

或者,如果您想在至少有一个值非空的情况下通过测试,请使用or

return usn_row_cell1_element.text or source_fields_row_cell1_element.text

请注意,在这种情况下,该函数将返回一个字符串值,但这不是问题,因为根据docs,assertTrue 将执行bool(x) is True 检查。

【讨论】:

太好了。感谢您的帮助。

以上是关于PHP中判断变量值是不是为空的问题的主要内容,如果未能解决你的问题,请参考以下文章

未处理的拒绝(错误):期望不可为空的变量的值:类型的时间:时间!在变量值中

PHP如何判断一个变量是不是有值,有值则不变,没有值则赋值

shell默认变量值

(转)shell脚本(bash)中[[]]和[]的区别

如何判断一个变量值是不是是 TCL 中的一个数字?

MSBuild 脚本中的 Bamboo 变量值为空