Über verschachtelte ternäre Operatoren
Ich habe versucht, zu verwenden isset()
in verschachtelter form wie unten:
isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0
Aber scheint, ich bin etwas fehlt. Kann jemand mir helfen, wie es zu tun?
InformationsquelleAutor der Frage sikas | 2012-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wickeln Sie es in Klammern:
Oder noch besser, verwenden Sie eine angemessene
if
/else
- Anweisung (Wartbarkeit):Jedoch, wie andere haben darauf hingewiesen: es würde einfach sein, einfacher für Sie zu verwenden
$_REQUEST
:InformationsquelleAutor der Antwort Joseph Silber
Etwas untersuchen hier, und ich denke, ich habe echte Antwort 🙂
Beispiel-code:
Aufmerksam sein, um Runde Klammern, die ich gesetzt hab.
Ich denke, Sie warten, um ein ähnliches Verhalten zu erzielen:
Aber! Real-Verhalten sieht wie folgt aus:
Allgemeinen Fehler war, dass Sie es vermisst habe, bemerken: Undefined index.
Online-Verwaltungsshell.
InformationsquelleAutor der Antwort Sergey Chizhik
Als der
php 7
wir können Null coalescing-operatorInformationsquelleAutor der Antwort Adersh
Könnten Sie es einfacher haben, einfach mit der $_REQUEST-Variablen:
http://us2.php.net/manual/en/reserved.variables.request.php
InformationsquelleAutor der Antwort Fletch
Ist es einfacher zu Lesen, wenn wir schreiben ternären in der folgenden Art und Weise:
Aber ternäre Operatoren sind kurze, effektive Wege zu schreiben Sie einfachen if-Anweisungen. Sie sind nicht gebaut für den Nestbau. 🙂
InformationsquelleAutor der Antwort Govind Totla
Statt der ternären mit dem doppeldeutigen Vorrang, Sie konnte einfach
$_REQUEST
statt der fummeligen $_GET und $_POST probing:Dies ist genau das, was es ist.
InformationsquelleAutor der Antwort mario
Ich glaube, das wird Arbeit:
InformationsquelleAutor der Antwort Carlos