$db_hased_pw = $result["password"] || false;
我理解这行代码的用法,但是什么时候它会评估为假?
$db_hased_pw
是否仅当 $result["password"]
未定义时才等于 false?
或者如果 $result["password"]
未设置、false、零或 null,是否将 $db_hased_password
设置为 false?
最佳答案
当 $result["password"]
是一个“假值”时,它的计算结果为假。 empty
上的页面描述了这些值。
这些是等价的:
$db_hased_pw = !!$result["password"];
$db_hased_pw = (bool) $result["password"];
如果 $result["password"]
确实可以未定义,您应该使用:
$db_hased_pw = !empty($result["password"]);
避免被通知。
关于php - 使用逻辑或设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8472202/