isset PHP isset ($ _ GET ['etwas'])? $ _GET ['etwas']: ''
Ich bin auf der Suche um zu erweitern auf meinen PHP-Kenntnissen, und ich kam in etwas, das ich nicht sicher bin, was es ist, oder wie Sie auch suchen. Ich bin auf der Suche php.net isset code, und ich sehe isset($_GET['something']) ? $_GET['something'] : ''
Verstehe ich normal isset Operationen, wie if(isset($_GET['something']){ If something is exists, then it is set and we will do something }
aber ich verstehe nicht? Wiederholung der wieder, der : oder die ". Kann mir jemand helfen, diese brechen bei mir oder zumindest zeigen mich in die richtige Richtung?
InformationsquelleAutor der Frage user1625186 | 2012-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist gemeinhin als "Kürzel" oder die Ternärer Operator.
bedeutet
Um es zu brechen:
... Oder
InformationsquelleAutor der Antwort uınbɐɥs
Das nennt sich ternärer operator und es ist vor allem statt einer if-else-Anweisung.
In dem Beispiel, das Sie Gaben es kann verwendet werden, um einen Wert aus einem array gegeben isset gibt true zurück,
entspricht
Natürlich ist es nicht viel nutzen, es sei denn, Sie weisen Sie auf etwas, und vielleicht sogar zuweisen eines default-Wert für einen Benutzer übermittelten Wert.
InformationsquelleAutor der Antwort sciritai
Haben Sie festgestellt das ternärer operator. Es ist Zweck ist, dass von einer grundlegenden if-else-Anweisung. Die folgenden code-Stücken, die das gleiche tun.
Ternärer:
If-else:
InformationsquelleAutor der Antwort Vulcan
Sich aus php-7, die Sie schreiben können, noch kürzer:
Und das bedeutet bei einem Alter von param ist in der url wird festgelegt, auf
$age
var, oder wird standardmäßig auf 27Finden Sie alle neue features von php 7
InformationsquelleAutor der Antwort George Garchagudashvili
Es nennt sich ternärer operator. Es ist die Kurzform für eine if-else-block. Siehe hier für ein Beispiel http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
InformationsquelleAutor der Antwort mathematician1975
? heißt Ternär (bedingte) Betreiber : Beispiel
InformationsquelleAutor der Antwort Nikola Ninkovic
Was Sie suchen, heißt ein Ternärer Operatorund Sie finden die PHP-Implementierung hier. Es ist ein
if else
- Anweisung.InformationsquelleAutor der Antwort bmorenate
Wenn Sie möchten, eine leere Zeichenfolge Verzug, dann ist ein bevorzugter Weg ist einer von diesen (je nach Bedarf):
Wenn der url-parameter
something
existiert nicht in der url dann$_GET['something']
zurücknull
strval($_GET['something'])
->strval(null)
->""
und Ihre variable
$value
ist eine leere Zeichenfolge festgelegt.trim()
könnte sein, bevorzugt überstrval()
je nach code (z.B. einen Name-parameter könnten es verwenden möchten)intval()
wenn nur numerische Werte erwartet werden, und der Standardwert ist null.intval(null)
->0
Fälle zu betrachten:
...&something=value1&key2=value2
(typisch)...&key2=value2
(parameter fehlt von der url $_GET den Wert null zurück)...&something=+++&key2=value
(parameter" "
)Warum dies ein bevorzugter Ansatz:
$value = isset($_GET['something']) ? $_GET['something'] : '';
$value=isset($_GET['something'])?$_GET['somthing']:'';
Update
Strict-Modus erfordern, so etwas wie dieses:
InformationsquelleAutor der Antwort TrophyGeek