電子書籍の厳選無料作品が豊富!

以下の内容をもっとシンプルに書きたいのですが思い浮かびません。
どなたかアドバイスお願い致します。

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 '';
}

A 回答 (4件)

たとえばこんな感じで?



<?
$str='';
$str=!empty($test3)?'<img src="'.$test3.'">':'';
$str=!empty($test2)?'<img src="'.$test2.'">'.$str:'';
$str=!empty($test1)?'<img src="'.$test1.'">'.$str:'';
print $str;
?>
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2009/12/22 23:51

yambejpさん、ご指摘/修正ありがとうございます。


要件を完全に見落としてました。

質問者さんごめんなさい。
    • good
    • 0
この回答へのお礼

とんでもないです。
こちらこそ他のやり方をおしえてくださってありがとうございました。

お礼日時:2009/12/22 23:50

あ、<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;
?>
    • good
    • 0

<?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;
?>

こんな書き方も。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!