2 Stimmen

Unerwartetes T_IF, if-Anweisung in Array

Ich kann nicht herausfinden, warum ich den Parse-Fehler erhalte: Syntaxfehler, unerwartetes T_IF in Zeile 6.

 $sf = array ( 

            "name" => $firstname . ' ' . $lastname,
            "email" => $email,
            "address" => $shipping_address_1 . if(!empty($shipping_address_2 )) { echo ", " . $shipping_address_2 }
            );
            print_r($sf);

Ich möchte überprüfen, ob $shipping_address_2 nicht leer ist, und wenn nicht, dann anzeigen.

2voto

Weil dein Code falsch ist. Du kannst keine if-Anweisung innerhalb der Array-Initialisierung platzieren.

2voto

Jeff Lambert Punkte 23883

Nicht zu 100% sicher, aber Sie sollten einen ternären Operator verwenden können...

"address" => $shipping_address_1 . 
    (!empty($shipping_address_2 )) ? 
        ", " . $shipping_address_2 : // Dies wird ausgeführt, wenn die Bedingung wahr ist
        ""    // Dies wird ausgeführt, wenn die Bedingung falsch ist

1voto

Baba Punkte 91769

Ersetzen Sie

 "address" => $shipping_address_1 . if(!empty($shipping_address_2 )) { echo ", " . $shipping_address_2 }

mit

"address" => $shipping_address_1 . (empty($shipping_address_2) ? null :  ", " . $shipping_address_2)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X