PHP:有可能将HTML嵌入到三元运算符的中间吗?
例如,我可以做如下的事情吗PHP:有可能将HTML嵌入到三元运算符的中间吗?,php,html,ternary-operator,embedded-language,Php,Html,Ternary Operator,Embedded Language,例如,我可以做如下的事情吗 <? $foobar = 1; $foobar==0 ? ?> <span>html goes here.</span> <? : ?> <span>something else.</span> <? ; ?> 这里是html。 还有别的。 那密码不行。所以我猜这是不可能的,或者是吗?我建议使用开关 范例 <?php switch($foobar) {
<? $foobar = 1;
$foobar==0 ? ?>
<span>html goes here.</span>
<? : ?>
<span>something else.</span>
<? ; ?>
这里是html。
还有别的。
那密码不行。所以我猜这是不可能的,或者是吗?我建议使用
开关
范例
<?php
switch($foobar) {
case 0:
$html = '<span>html goes here.</span>';
break;
default:
case 1:
$html = '<span>something else.</span>';
break;
}
echo $html;
您不能像那样嵌入HTML,因为您过早地终止了三元表达式,导致了一个解析错误
替代的if-else构造更具可读性。对于额外的几个字符,您可以获得更容易理解的代码块:
<?php if ($foobar == 0) : ?>
<span>html goes here.</span>
<?php else: ?>
<span>something else.</span>
<?php endif; ?>
这里是html。
还有别的。
你也可以使用大括号语法,但我不喜欢看到我的代码周围有游离的、未标记的}
s。我认为像这样使用三元运算符是没有意义的,我的意思是,你为此花费了6行代码,因此不再紧凑
我建议你把它改写成“如果/否则”
<? $foobar = 0;
if($foobar==0) { ?>
<span>html goes here.</span>
<? } else { ?>
<span>something else.</span>
<? } ?>
这里是html。
还有别的。
致以最良好的祝愿
嗯 使用字符串进行替换
<?php
$x = 10;
?>
<p>Some html</p>
<?= $x == 10 ? '<p>true</p>' : '<p>false</p>' ?>
<p>Some other html</p>
一些html
其他一些html
我想这会很整洁我认为这本书很难读懂。很好的选择。:)我以前用它来输出变量,但没有像那样使用它。
<?php
$x = 10;
?>
<p>Some html</p>
<?= $x == 10 ? '<p>true</p>' : '<p>false</p>' ?>
<p>Some other html</p>