PHP if / else没有echo

时间:2017-04-14 12:24:07

标签: php echo

如何使用正确的html代码替换echo?由于将有数百个html代码,因此使用echo是没有意义的。

<?php
if ($this->item->catid == 9) { 
    echo "yes, it exists"; 
    } 
    else { 
    echo "no, it don't exist"; 
    }
?>

我是PHP的新手。

2 个答案:

答案 0 :(得分:1)

您的意思是,如何有条件地干净地输出多行HTML而不必每行echo

如果是这样的话,这样的话可以解决问题:

<?php
if ($this->item->catid == 9) { 
?>

    <!--- put all the raw output you like here --->

<?php
} else { 
?>

    <!--- put all the raw output you like here --->

<?php
}
?>

&#34;原始输出&#34;将是发送到浏览器的任何内容。 HTML,JavaScript等。即使它不在服务器端PHP标签之外,就PHP处理器而言,它仍然在{ ... }括号之间。所以它只作为条件块的一部分输出。

答案 1 :(得分:1)

有两种方法可以做到:

1)正如David建议的那样,关闭php标签以编写原始HTML。

<?php
if ($this->item->catid == 9) { 
?>
    // HTML goes here
<?php
}else{
?>
    // HTML goes here
<?php
}
?>

但是如果你打算写很多文本,最后可能很难阅读你的代码,所以你可以使用以下内容。

<?php

$htmlOutput = '';

if ($this->item->catid == 9) { 
    $htmlOutput .=  "yes, it exists";
} else { 
    $htmlOutput .=  "no, it doesn't exist";
}
?>

通过在每次需要时附加一部分HTML来创建一个包含所有HTML的变量,最后您只需要打印一个变量。