PHP: if/else Kurzform innerhalb von String Concatenationen

php if else in string concatenation
Ich habe für meine neuen Filter im Shop sehr viele if/else Abfragen in die Logik einbauen müssen.

Nichts schlimmes, doch ganz schön viel Code! Ich stehe ja aber auf knackig und kurz!

if/else Kurzform

PHP bietet ja eine tolle Kurzschreibweise für die if else Abfragen:

$string = ($test==true ? 'if true' : 'if else');

if/else Kurzform innerhalb von String Concatenationen

Wozu und wie lässt sich diese Kurzform innerhalb einer String-Concatenation einbauen?

Simples Beispiel: Werden Selects nach den Abschicken des Formulars wieder angezeigt, müssen sie in der Ausgabe wieder passend der Anfrage vorbelegt werden. Es gilt also je nach GET oder POST Parameter an der passenden Stelle ein selected="selected" einzufügen.

Übliche Schreibweise

if($keyword==$var){
  $return .= '<option value="' . $keyword 
  . '" selected="selected">' . $keyword 
  . '</option>';
}else{
  $return .= '<option value="' 
  . $keyword . '">' . $keyword 
  . '</option>';
}

if/else Kurzform

$return .= '<option value="' . $keyword . '" ' 
. ($keyword==$var ? 'selected="selected">' : '>') 
. $keyword . '</option>';

Vielen Dank ans Cosni Portal für die Lösung meines Syntaxfehlers

1 Kommentar » Schreibe einen Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


%d Bloggern gefällt das: