なぜ解析エラーが発生するのか理解できません:構文エラー、6行目の予期しないT_IF。
$sf = array (
"name" => $firstname . ' ' . $lastname,
"email" => $email,
"address" => $shipping_address_1 . if(!empty($shipping_address_2 )) { echo ", " . $shipping_address_2 }
);
print_r($sf);
$ shipping_address_2が空でないかどうかを確認し、空でない場合は表示します。