我可以在PHP的IF-ELSE语句中使用HTML而不是echo吗?

时间:2014-05-29 10:26:51

标签: php html echo

if( $user->username == 'XYZ' )
{ 
echo "hello, XYZ";
}
else
{
echo "hello, guest";
}

在上面的代码中,我可以使用纯html代码来执行 IF语句是真的而不是使用 echo 吗?

4 个答案:

答案 0 :(得分:2)

是的,你可以这样做:

if( $user->username == 'XYZ' ) 
{
?>
hello, XYZ
<?
} 
else
{
?>
hello, guest
<?
}

有时看起来更好更简单。但事实上,将php和html代码放在不同的文件(单独的逻辑,样式和数据)中要好得多。

答案 1 :(得分:0)

if( $user->username == 'XYZ' )
{ ?>
<p>Hello <b><i>XYZ</i></b>
<?php }

else { ?>
<p>Hello <b><i>Guest</i></b>
<?php 
}

我希望你明白了。

答案 2 :(得分:0)

当然,您可以通过关闭<?php ?>代码直接编写HTML。

<?php if( $user->username == 'XYZ') { ?>
   hello, XYZ<br>
<?php } ?>
<?php else { ?>
   hello, guest<br>
<?php } ?>

你当然可以使用heredoc:

<?php
   $str = <<<FOO
This is a
demo message
FOO;

echo $str;
?>

但我不使用它,因为它与任何突出显示的编辑器混淆(它认为它是一个文本,我喜欢我的HTML突出显示)

我最喜欢的是这个,特别是当我的输出很大时:

<?php if( $user->username == 'XYZ') {
   include("user_template.php");
}
<?php else { ?>
   include("guest_template.php");
<?php } ?>

实际上只是在那里呈现HTML。

答案 3 :(得分:0)

也可以这样写,多行可读。

<?php if ($user->username == 'XYZ') : ?>
    Hello, XYZ
<?php else : ?>
    Hello, Guest
<?php endif; ?>