在php中将变量转换为布尔值的最佳方法是什么?
我正在阅读这个问题,看到了这一行:
if ($a == $b) { return true } else { return false }
这让我不禁好奇,将未知类型的变量(可以是字符串,可以是int;谁知道呢?谁在乎?)转换为布尔值的最佳方法是什么?
当然,会做到这一点,但我认为可能更好。if ($var) { return true; } else { return false; }
return $var ? true : false;
就此而言:
return $var && true
return $var || false
return !empty($var)
可能都更好,但是有没有最好的方法来施放到布尔?更重要的是,什么使它最好?
编辑以澄清:
编写本文的目的不是要成为转换为布尔值的方法的完整列表。我的问题特别涉及显式选角。在我了解之前,我使用了,因为它可以防止在未声明的变量上抛出错误。现在我使用,因为它打字更快。empty
isset($var) && $var
!empty($var)
!empty
具有(不)优点,即在未定义变量时不会引发任何错误。如果你正在检查或变量,这可能被认为是好的,对于大多数其他变量,我想这可能被认为是坏的,因为它会隐藏变量未初始化的问题,它应该被初始化。E_NOTICE
$_GET
$_SESSION
我很好奇其他开发人员是否有另一种做我不知道的事情的方式。