ChrisB: Konditionen in Wertzuweisungen

Beitrag lesen

Hi,

Jetzt will ich Aktion abhängig von einer Bedingung einfügen, den Rest aber unabhängig davon.

Meine Idee war folgende Funktion:

function conditional($condition,$value)
{
return ($condition) ? $value : NULL;
}

  
Erscheint dir eine Funktion, die nur einen Ausdruck auswerten und das Ergebnis zurückliefern soll, besonders sinnvoll?  
(Zumal sie das mit dem Auswerten nicht mal wirklich „selber macht“, sondern das m.E. schon beim Aufruf passieren dürfte.)  
  
Und NULL mit anderen (Text-)Daten per Verkettungsoperator zu verknüpfen, mag zwar das gewünschte liefern, besonder sauber finde ich es aber auch nicht. Du willst entweder einen bestimmten Text zurückliefern, oder keinen Text - und für kein Text fände ich einen Leerstring angebrachter, als NULL.  
  

> Mit folgendem Aufruf:  
> ~~~php
  

> $html = '  
> <table>  
> <tr>  
> <th>ID</th>  
> <th>Name</th>  
> <th>Vorname</th>  
> <th>Adresse</th>'  
> .conditional(true,'<th>Aktion</th>').  
> '</tr>  
> </table>  
> ';  
> 

Ist da so optimal, oder gibt es eine bessere Variante?

In der Funktion erkenne ich da keinen wirklichen Vorteil - da würde ich lieber den Ausdruck direkt einsetzen.

Das wird bei solchen echo-Konstrukten allerdings schnell übersichtlich - bspw. printf/sprintf bieten sich in solchen Fällen als Alternativen an. Mit denen kannst du schon mal den HTML-Code, den du ausgeben willst, von den Daten - und deren dafür notwendiger Behandlung - ein bisschen logisch trennen.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?