php额外的换行符出现

时间:2013-02-14 18:48:21

标签: php echo line-breaks isset

我是php的新手。我正在为地址返回一些变量,并检查是否存在address2。如果它为null,我希望它跳过并且不在格式化中添加额外的行。但是,无论如何它似乎正在打破这条路线。我已经尝试了各地的破损标签而不是,但无法找到它的位置。

echo "$comp_name<br>$comp_add1";
if (isset($comp_add2)) {
    echo "<br>$comp_add2"; }
echo "<br>$comp_city, $comp_state $comp_zip<br><a href=\"http://$comp_url\" >$comp_url</a>";

看看这个页面:http://projects.ekcetera.com/people.php ...点击ABC公司,然后查看简化生活,您将在简化生活中看到额外的换行符。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

您的示例页面显示致命错误,但我认为您必须在此处使用空,因为该变量可能已设置,但仅填充空字符串。

所以

if (isset($comp_add2)) {
    echo "<br>$comp_add2"; 
}

应该是

if (!empty($comp_add2)) {
    echo "<br>$comp_add2"; 
}

以下是关于isset vs empty的一个很好的解释: http://www.virendrachandak.com/techtalk/php-isset-vs-empty-vs-is_null/

答案 1 :(得分:1)

在简化生活中你的$ comp_add2被设置了,你必须检查它是否为空

echo "$comp_name<br>$comp_add1";
if (!empty($comp_add2)) {
    echo "<br>$comp_add2"; }
echo "<br>$comp_city, $comp_state $comp_zip<br><a href=\"http://$comp_url\" >$comp_url</a>";