我正在尝试将以下PHP插入echo
,但是格式化方式有问题。
PHP:
<?php if ( isset($heroloc) ) { echo '@ '.$heroloc;} ?>
希望在if
$created_time
语句放入右下方
echo '<span class="time">'.$created_time.'</span>';
有些像这样,但格式正确:
echo '<span class="time">'.$created_time. if ( isset($heroloc) ) { echo '@ '.$heroloc;'</span>';
答案 0 :(得分:5)
使用三元运算符
<?php echo '<span class="time">'.$created_time.(isset($heroloc) ? '@ '.$heroloc : '').'</span>';
答案 1 :(得分:1)
你可以用不同的方式写出来。
不要忘记sprintf
有多方便。
$when = sprintf(isset($hereloc) ? '%s @ %s' : '%s', $created_time, $hereloc);
echo "<span class='time'>$when</span>";
三元运算符
echo '<span class="time">'.$created_time.(isset($heroloc) ? '@ '.$heroloc : '').'</span>'
但是,正确的方法是不要混合逻辑和HTML输出。相反,请确保$hereloc
之前始终有效echo
。
// put your rules in a controller.php file
// ensure your view receives all required variables.
$hereloc = isset($hereloc) ? " @ $hereloc" : '';
// then separate your echo statements to a view.php file
echo "<span class='time'>{$created_time}{$hereloc}</span>";
这种方法使得阅读view.php变得更加容易。