PHP Kurzschreibweise

  • Hallo,


    ich lerne gerade die Kurzschreibweisen von PHP. Ist dieses so richtig, oder würdet ihr es anderes machen? Ich möchte erreichen, wenn $array['preis'] leer ist, dass dann kommt "Preis auf Anfrage"


    PHP
    1. <?php echo htmlspecialchars(($array['preis']?$array['preis']:'Preis auf Anfrage'));?>
  • Ist soweit richtig , auch wenn ich es nicht unbedingt schön finde.
    Aufpassen musst du aber da ein Preis von 0 auch zu einem Preis auf Anfrage
    werden wird bei deiner derzeitigen Prüfung :)

  • Das kommt ein bisschen darauf an, was du unter "leer" verstehst. Ich finde es immer angenehm wenn in so einem Fall der Wert einfach nicht gesetzt ist, dann reicht die Prüfung über isset:


    PHP
    1. <?php echo htmlspecialchars(isset($array['preis']) ? $array['preis'] : 'Preis auf Anfrage');?>


    Ab PHP 7 dann einfach

    PHP
    1. <?php echo htmlspecialchars($array['preis'] ?? 'Preis auf Anfrage');?>


    (wie man es z.B. aus JavaScript mit || kennt)

  • Zitat

    (wie man es z.B. aus JavaScript mit || kennt)


    Geht es dann in php nur über die zwei ?? ? was bedeuten diese denn? :)