2016-04-06 50 views
0

以下函數的PHP7方法是檢查一個值是否被設置並等於一個特定值?什麼是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; 
} 
+2

*什麼是PHP7方式*究竟是怎麼做到的 – Rizier123

+1

它看起來像第二isset將變成: $ responseFormat = $請求[ '控制'] [ '選項'] [ 'responseFormat']? 'PHP'; – sterling

回答

2

如果你想使用新的NULL COALESCE操作的,你可以寫這樣的方法:

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

    return 'php'; 
} 

$x ?? null如果未設置$ x,則計算結果爲null,如果未設置$ x,則$x ?? 'php'計算結果爲'php'。

您也可以將所有內容與一個附加的三元運算符?:放在同一行中,以便擁有一個return,但這會以可讀性爲代價。

相關問題