Php 使用logcal或
我理解这行代码的用法,但是什么时候它会被评估为false 只有当Php 使用logcal或,php,logical-operators,Php,Logical Operators,我理解这行代码的用法,但是什么时候它会被评估为false 只有当$result[“password”]未定义时,$db\u hased\u pw是否会等于false 或者如果$result[“password”]未设置,或者设置为false,或者设置为false,或者设置为零,或者设置为null,那么$db\u hased\u password将在$result[“password”]为“假值”时计算为false。上的页面介绍了这些值 这相当于: $db_hased_pw = $result["
$result[“password”]
未定义时,$db\u hased\u pw
是否会等于false
或者如果
$result[“password”]
未设置,或者设置为false,或者设置为false,或者设置为零,或者设置为null,那么$db\u hased\u password
将在$result[“password”]
为“假值”时计算为false。上的页面介绍了这些值
这相当于:
$db_hased_pw = $result["password"] || false;
如果$result[“password”]
确实无法定义,则应使用:
$db_hased_pw = !!$result["password"];
$db_hased_pw = (bool) $result["password"];
要避免出现通知。来自PHP文档: 转换为布尔值时,以下值被视为FALSE:
- 布尔值本身是假的
- 整数0(零)
- 浮动0.0(零)
- 空字符串和字符串“0”
- 零元素数组
- 具有零成员变量的对象(仅限PHP 4)
- 特殊类型NULL(包括未设置的变量)
- 从空标记创建的SimpleXML对象
$db_hased_pw = !empty($result["password"]);