php中的简单if-else条件

php中的简单if-else条件,php,Php,我试图根据cookie条件回显字符串,代码如下所示: <?php setcookie('a12cookie', '1'); ?> <?php if (isset($_COOKIE['a12cookie'])) { ?> <?php echo "hello"; ?> <?php } ?> <?php else { ?> <?php echo "bye"; ?> <?php } ?> 我知道我在第6行漏掉了

我试图根据cookie条件回显字符串,代码如下所示:

<?php setcookie('a12cookie', '1'); ?>
<?php if (isset($_COOKIE['a12cookie'])) { ?>
<?php echo "hello"; ?>

<?php } ?>

<?php else { ?>

<?php echo "bye"; ?>

<?php } ?>

我知道我在第6行漏掉了一些东西,我想不出是什么。

只要把
其他的
放在
}

像这样:

这应该可以:

<?php setcookie('a12cookie', '1'); ?>
<?php echo (isset($_COOKIE['a12cookie']) ? "Hello" : "Bye");?>

*我喜欢使用三元运算符的唯一情况是当我有像您这样的简单条件echo语句时

此外,当使用PHP作为表示语言时,通常最好使用它的替代语法。这将允许您非常轻松地插入其他演示文稿

<?php if(isset($_COOKIE['a12cookie'])):?>
Hello
<?php else:?>
Bye
<?php endif;?>

你好
拜伊

如果要使用
else
语句,则不允许在
}
之后关闭php标记。您的代码应该如下所示:

...
<?php } else { ?>
...
。。。
...

您的代码应该如下所示:

<?php setcookie('a12cookie', '1');
if (isset($_COOKIE['a12cookie'])) {
    echo "hello"; 
  } else {
  echo "bye";
}

hellobye你也可以写,有时候更容易阅读

<?php if (isset($_COOKIE['a12cookie'])): ?>
    <?php echo "hello" ?>
<?php else: ?>
    <?php echo "bye" ?>
<?php endif ?>


有错误。您在
}
之间有一个缓冲区输出,请删除
?>事实上,打开/关闭
是一个非常开始的想法注意:您的代码将无法按预期工作$_COOKIE是在脚本启动时填充的,然后php不会再触摸它。您刚才设置的cookie在下一页加载之前不会在$\u cookie中。@MarcB设置后立即检查
$\u cookie
的原因是什么,我认为不期望
setcookie()
更新数组,无论如何这是一个非常奇怪的代码,很难说作者写这篇文章的意思。这是《记住我》早期的后现代诗歌。@Eito:网站上有太多的问题,这些问题都是来自那些希望超全局更新自己的人。除非你使用变量,否则你为什么要重新打开PHP标记来回显字符串?谢谢你的问题;)-对于这个简短的代码段,最好的选择是使用三元运算符“echo(isset(…)?“hello”:“bye”-否则我想说明可读性比尽量保持代码小更重要。通常在视图表示中混合使用PHP和HTML。因此,最好对表示逻辑和直接输出进行严格划分。啊,看来我没有理解你问题的重点。是-回显简单字符串没有意义。
<?php setcookie('a12cookie', '1');
if (isset($_COOKIE['a12cookie'])) {
 ?>hello<?php } else {
 ?>bye<?php }
<?php if (isset($_COOKIE['a12cookie'])): ?>
    <?php echo "hello" ?>
<?php else: ?>
    <?php echo "bye" ?>
<?php endif ?>