Php 检查null并执行一行或另一行

Php 检查null并执行一行或另一行,php,operators,ternary,Php,Operators,Ternary,我有以下代码: $red = "value"; $resp = (($red && get("aaa")) ?: getb("aaa")); print $resp; function get($aaa) { return "aaa"; } function getb($aaa) {

我有以下代码:

    $red = "value";
    $resp = (($red && get("aaa")) ?: getb("aaa"));
    
    print $resp;
    
    function get($aaa)
    {
        return "aaa";
    }
    
    function getb($aaa)
    {
        return $aaa . "bbb";
    }
但是在本例中,
$red&&get(“aaa”)
代码被分配给
$resp
,但是相反,我希望如果
$red
不为null,执行
get(“aaa”)
,如果
get(“aaa”)
返回false,则执行
getb(“aaa”)

$red
为null或
get(“aaa”)
为false时,代码运行正常,但在本例中为return true时


在这样的一行代码中是否有这样做的方法?或者我必须使用ifs?

检查这个,它应该涵盖你的所有情况。不过我会使用
if
s。像这样的嵌套运算符很难读取和维护,几乎没有任何好处(除了几行代码)。谢谢@digitaldriver,它帮了很多忙。@Jeto,是的,这是真的。谢谢