Php 有没有办法将三元运算符与零合并结合起来?

Php 有没有办法将三元运算符与零合并结合起来?,php,Php,我想先检查变量是否为null,如果为null,则返回“null”。否则,检查变量是否===1,如果是,则返回“是”,否则返回“否” 现在我有这个: ($is_realtor ? 'Yes' : 'No') ?? 'Null' 但它似乎永远不会到达空合并操作符。即使$is\u realtor为null,它也会返回“No” 是否有一种简洁而优雅的方式将它们结合起来?您可以根据需要组合任意多个条件。但是,你的巢越长,阅读就越困难 $value = ($is_realtor === null ? nu

我想先检查变量是否为null,如果为null,则返回“null”。否则,检查变量是否===1,如果是,则返回“是”,否则返回“否”

现在我有这个:

($is_realtor ? 'Yes' : 'No') ?? 'Null'
但它似乎永远不会到达空合并操作符。即使
$is\u realtor
null
,它也会返回“No”


是否有一种简洁而优雅的方式将它们结合起来?

您可以根据需要组合任意多个条件。但是,你的巢越长,阅读就越困难

$value = ($is_realtor === null ? null : ($is_realtor == 1 ? 'yes':'no') ); 

该三元运算的结果将永远只能是“是”或“否”,因为如果
$is\u realtor
为空,它将被评估为falsy,并且将应用“否”。如果你想要3种可能的结果,你需要一个由3部分组成的If语句。为了未来的开发人员,不要尽可能聪明。事实上,空值在三元运算符中会报告为falsy。因此,您不需要合并这些运算符。然后是“其他情况”,即未定义的变量。即使它不是特别被问到什么,我觉得有必要指出,好的ol’isset将不得不被使用。未定义的变量不会被视为错误。如果有办法将这两个操作符结合起来,我还没有找到。