2016-04-06 2 views
0

Was ist die PHP7-Methode der folgenden Funktion, die prüft, ob ein Wert gesetzt ist und einem bestimmten Wert entspricht?Wie kann PHP7 prüfen, ob ein Wert gesetzt ist und einem bestimmten Wert entspricht?

Lassen Sie mich wissen, wenn Sie andere Raum für Verbesserungen im Allgemeinen sehen:

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

* Was ist die PHP7 Art und Weise * Genau wie Sie es tun – Rizier123

+1

Es sieht aus wie die zweite isset werden könnte: $ Response = $ Anfrage [ 'controller'] [ 'Optionen'] [ 'Response'] ?? 'php'; – sterling

Antwort

2

Wenn Sie die Verwendung des neuen NULL COALESCE Operator machen möchten, können Sie die Methode wie folgt schreiben:

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

    return 'php'; 
} 

$x ?? null wertet null aus, wenn $ x nicht gesetzt ist, und $x ?? 'php' wertet 'php' aus, wenn $ x nicht gesetzt ist.

Sie könnten auch alles in einer Zeile mit einem zusätzlichen ternären Operator ?: zu einem einzigen return setzen, aber das wäre auf Kosten der Lesbarkeit.