Verwendung verschachtelter ternärer Operatoren
Auf dem Weg zur Optimierung bedingter Anweisungen kann es sein, dass Sie auf die Notwendigkeit stoßen, ternäre Operatoren zu verschachteln. Wie Ihr Beispiel zeigt, kann es jedoch schwierig sein, dies zu erreichen:
<code class="php">isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0</code>
Um dies zu korrigieren, ist es wichtig, den gesamten Ausdruck in Klammern zu setzen:
<code class="php">$selectedTemplate = isset($_POST['selectedTemplate']) ? $_POST['selectedTemplate'] : ( isset($_GET['selectedTemplate']) ? $_GET['selectedTemplate'] : 0 );</code>
Alternativ für „verbessert“. Um die Lesbarkeit und Wartung zu verbessern, sollten Sie die Verwendung einer if/else-Anweisung in Betracht ziehen:
<code class="php">$selectedTemplate = 0; if (isset($_POST['selectedTemplate'])) { $selectedTemplate = $_POST['selectedTemplate']; } elseif (isset($_GET['selectedTemplate'])) { $selectedTemplate = $_GET['selectedTemplate']; }</code>
Aus Gründen der Einfachheit und Kompatibilität mit den POST- und GET-Methoden ist jedoch möglicherweise die folgende Lösung besser geeignet:
<code class="php">$selectedTemplate = isset($_REQUEST['selectedTemplate']) ? $_REQUEST['selectedTemplate'] : 0;</code>
Das obige ist der detaillierte Inhalt vonWie strukturiert man verschachtelte ternäre Operatoren für eine effiziente bedingte Logik?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!