我的场景:
$exTime = get_cfg_var("session.gc_maxlifetime")?get_cfg_var("session.gc_maxlifetime"):1440;
我希望它像 mysql:
$exTime = isnull(get_cfg_var("session.gc_maxlifetime"),1440);
或类似的东西也可以理想地测试 FALSE。这样我只需调用一次该函数!
我知道我可以将它分配给一个 var,但这会在我的代码中添加另一行(哦,不!)。这真的是一种装饰性的东西,我认为它更容易阅读。无论如何谷歌没有帮助我(inb4 有人证明我错了)。谢谢!
最佳答案
从 PHP 5.3 开始,您还可以使用 short ternary operator :
$exTime = get_cfg_var("session.gc_maxlifetime") ?: 1440;
这基本上是您预期的功能,但无需声明该功能。在 5.3 之前的 PHP 版本中,您应该采用 André 的回答。
不过请记住,如果要检查未指定键的数组,调用该函数可能会引发警告:
$array = array(
0 => array(
0 => 100
)
);
$example = isNull($array[0][1], 200);
关于php - MySQL ifnull 相当于 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402327/