• 締切済み

PHP「値が存在するなら出力する」を最もシンプルに

<?php if($a){ echo $a."はあるよ" ;} ?> この構文をもっと短くすることはできますでしょうか?

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

三項演算子は若干拡張されていますね <?php $a=1; print $a?:"none"; $a=0; print $a?:"none"; ?> いずれにしろ、$aが初期化されていないとエラーになるので注意 (isset($a)でチェックした方がいいということ)

  • t_ohta
  • ベストアンサー率38% (5243/13715)
回答No.2

<?php echo $a ? $a."はあるよ" : ""; ?> あんまり変わらないかな。

goojyakuma
質問者

お礼

三項演算子が少しすっきりしますね。 <?php if($a) echo $a."はあるよ" ; ?> ifで単独出力?の場合 波括弧を省略できる、ということを知りました。 他の案をだしてくれた方も、ありがとうございます。 地味なテク、高等なテク、マイナーなテク、別の書き方、、 ほかにも何か方法がありそうな気がしています。

  • html58
  • ベストアンサー率38% (5/13)
回答No.1

short_open_tagを有効にすれば <? if($a){ echo $a."はあるよ" ;} ?> とできます。 環境によっては使えないこともあるのでお勧めはしません。

goojyakuma
質問者

お礼

なるほど、、、細かい点ですが、スッキリかけますね。 xml宣言に留意する必要があり、 レンタルサーバによっては最初からshort_open_tagが有効になっているものもありました。 情報ありがとうございます。

関連するQ&A