PHP:是否有可能以某种方式将HTML嵌入到三元运算符的中间?

tru*_*ktr 3 html php ternary-operator embedded-language

例如,我可以执行以下操作吗?

<? $foobar = 1;
$foobar==0 ? ?>
   <span>html goes here.</span>
<? : ?>
   <span>something else.</span>
<? ; ?>
Run Code Online (Sandbox Code Playgroud)

该代码不起作用.所以我猜它不可能,或者是吗?

Bol*_*ock 6

你不能像那样嵌入HTML,因为你过早地终止三元表达式,导致解析错误.

替代if-else构造更具可读性.对于额外的几个字符,您可以获得更容易理解的代码块:

<?php if ($foobar == 0) : ?>
    <span>html goes here.</span>
<?php else: ?>
    <span>something else.</span>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

您也可以使用大括号语法,但我不喜欢看到}代码周围的杂散,未标记的s.