- ベストアンサー
もっとシンプルに書きたいのですが・・・
以下の内容をもっとシンプルに書きたいのですが思い浮かびません。 どなたかアドバイスお願い致します。 if(!(empty($test1))){ if(!(empty($test2))){ if(!(empty($test3))){ echo '<img src="'.$test1.'"><img src="'.$test2.'"><img src="'.$test3.'"><br>'; } else{ echo '<img src="'.$test1.'"><img src="'.$test2.'"><br>'; } }else{ echo '<img src="'.$test1.'"><br>'; } }else{ echo ''; }
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
たとえばこんな感じで? <? $str=''; $str=!empty($test3)?'<img src="'.$test3.'">':''; $str=!empty($test2)?'<img src="'.$test2.'">'.$str:''; $str=!empty($test1)?'<img src="'.$test1.'">'.$str:''; print $str; ?>
その他の回答 (3)
- hogehoge78
- ベストアンサー率80% (433/539)
yambejpさん、ご指摘/修正ありがとうございます。 要件を完全に見落としてました。 質問者さんごめんなさい。
お礼
とんでもないです。 こちらこそ他のやり方をおしえてくださってありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
あ、<br>がいるんですね・・・ #2さんは若干フローが違うのでは? $test1が空なら、$test2や$test3にデータがはいっていても 表示したくないんですよね? であればbreakしてやらないといけないでしょう <?php $result = ''; foreach(array($test1, $test2, $test3) as $t){ if(!empty($t)) $result .= sprintf('<img src="%s">', $t); else break; } if(!empty($result)) $result .= '<br />'; echo $result; ?>
- hogehoge78
- ベストアンサー率80% (433/539)
<?php $result = ''; foreach(array($test1, $test2, $test3) as $t){ if(!empty($t)) $result .= sprintf('<img src="%s">', $t); } if(!empty($result)) $result .= '<br />'; echo $result; ?> こんな書き方も。
お礼
どうもありがとうございました。