2017-02-25 6 views
1

Gibt es eine Möglichkeit, die Verwendung zu verhindern, wenn überprüft werden soll, ob ein Element existiert, bevor es an eine Zeichenfolge angehängt wird, so dass es keinen Fehler verursacht?php Nicht vorhandenes Element an Zeichenfolge anfügen

z.B.

$output = ""; 
if($data['element']) 
{ 
    $output .= $data['element']; 
} 

in Javascript kann ich verwenden:

var output = ""; 
output += data['element'] || ''; 
+0

Null Koaleszenz Betreiber:. '$ Output = $ data [ 'Element'] ?? null "; –

+0

@MarkBaker In der Tat, aber nur in PHP unterstützt 7^ –

+0

@MarkBaker Ich verwende PHP 7. Also das ist genau das, was ich brauchte. Vielen Dank – Chris

Antwort

0

Sie immer den Ternary Operator verwenden:?

$output .= (isset($data['element'])) ? $data['element'] : ''; 

Vom PHP Docs

Der Ausdruck (expr1)? (Ausdruck2): (Ausdruck3) ergibt Ausdruck2, wenn Ausdruck1 TRUE ergibt, und Ausdruck3, wenn Ausdruck1 FALSCH ergibt.

Seit PHP 5.3 ist es möglich, den mittleren Teil des ternären Operators wegzulassen. Expression expr1?: Expr3 gibt expr1 zurück, wenn expr1 TRUE ergibt, andernfalls expr3.

0

Verwendung isset es zu überprüfen.

$output = ""; 
if(isset($data['element'])) 
{ 
    $output .= $data['element']; 
} 
0

Verwenden Sie die PHP Ternary Operator wie folgt aus:

(isset($data['element'])) ? $output=$data['element'] : $output=""; 
Verwandte Themen