- 締切済み
PHP「値が存在するなら出力する」を最もシンプルに
<?php if($a){ echo $a."はあるよ" ;} ?> この構文をもっと短くすることはできますでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 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."はあるよ" : ""; ?> あんまり変わらないかな。
- html58
- ベストアンサー率38% (5/13)
回答No.1
short_open_tagを有効にすれば <? if($a){ echo $a."はあるよ" ;} ?> とできます。 環境によっては使えないこともあるのでお勧めはしません。
質問者
お礼
なるほど、、、細かい点ですが、スッキリかけますね。 xml宣言に留意する必要があり、 レンタルサーバによっては最初からshort_open_tagが有効になっているものもありました。 情報ありがとうございます。
お礼
三項演算子が少しすっきりしますね。 <?php if($a) echo $a."はあるよ" ; ?> ifで単独出力?の場合 波括弧を省略できる、ということを知りました。 他の案をだしてくれた方も、ありがとうございます。 地味なテク、高等なテク、マイナーなテク、別の書き方、、 ほかにも何か方法がありそうな気がしています。