PHP7 检查值是否已设置且是否等于特定值的方法是什么?

What is the PHP7 way to check if a value is set and is equal to a specific value?

以下函数的 PHP7 方法是什么,它检查一个值是否已设置并等于特定值?

如果您发现任何其他总体改进空间,请告诉我:

public function getResponseFormat($request)
{
    $responseFormat = 'php';

    if(isset($request['controller']['name']) && $request['controller']['name'] == 'email') {

        if(isset($request['controller']['options']['responseFormat'])) {

            $responseFormat = $request['controller']['options']['responseFormat'];
        }
    }

    return $responseFormat;
}

如果你想使用新的NULL COALESCE运算符,你可以这样写方法:

public function getResponseFormat($request)
{
    if ($request['controller']['name'] ?? null == 'email') {
        return $request['controller']['options']['responseFormat'] ?? 'php';
    }

    return 'php';
} 
如果未设置 $x,

$x ?? null 计算结果为 null,如果未设置 $x,$x ?? 'php' 计算结果为 'php'。

您也可以将所有内容与一个额外的三元运算符 ?: 放在一行中,以获得单个 return,但这会以可读性为代价。