/ / Kurzschrift isset (), falls nicht, Rückgabe des Standardwertes - php, isset, Kurzschrift

Kürzel isset (), falls nicht, Rückgabewert - php, isset, Kürzel

Ich suche eine Kurzversion dieses Codes in PHP:

$address = isset($node->field_naam_adres["und"][0]["value"]) ? $node->field_naam_adres["und"][0]["value"] : "";

Grundsätzlich möchte ich überprüfen, ob die Variable gesetzt ist, und wenn nicht, dann einen Standardwert zurückgeben.

Antworten:

1 für die Antwort № 1

https://stackoverflow.com/a/18603279/165330 :

vor php 7: nein

$address = isset($node->field_naam_adres["und"][0]["value"]) ? $node->field_naam_adres["und"][0]["value"] : "";

von php 7: ja

$address = $node->field_naam_adres["und"][0]["value"] ?? "default";


0 für die Antwort № 2

Wenn Sie davonkommen können, indem Sie sich auf Wahrhaftigkeit und Falschheit verlassen, anstatt auf die direkteren issetSie können die mittlere Anweisung in einem Ternär wie folgt weglassen:

$address = $node->field_naam_adres["und"][0]["value"] ?: "";

Dies funktioniert so, dass wenn der Rückgabewert desDie erste Anweisung wird als wahr bewertet, dieser Wert wird zurückgegeben, andernfalls wird der Fallback verwendet. Sie können sehen, welche verschiedenen Werte als Boolesche Werte ausgewertet werden Hier

Es ist wichtig zu beachten, dass Sie bei Verwendung dieses Musters Ihre anfängliche Anweisung nicht einschließen können isset, emptyoder eine ähnliche Funktion. In diesem Fall wird der Rückgabewert dieser Anweisung einfach zu einem Booleschen Wert. Während der obige Code entweder den Wert von zurückgibt $node->field_naam_adres["und"][0]["value"] oder eine leere Zeichenfolge, der folgende Code:

$address = isset($node->field_naam_adres["und"][0]["value"]) ?: "";

Komme auch wieder TRUE oder eine leere Zeichenfolge.