2015-06-21 54 views
-2

当我使用IF语句,我常做这样的事情:如何在三元运算符条件括HTML,你会与一个正常的if语句

<?php 
    if ($var ===0){ ?> 
    <section>We broke out of PHP</section> 
    <?php ////// we are back in PHP 
    } else { 

     }  
?> 

如何归档同样的事情与三元运算符,是这样的:

<?php 
    $var ===0?: $_breakHere?> 
    <section>We broke out of PHP</section> 
    <?php ////// we are back in PHP 
    $_ContinueHere 
    } else { 

     }  
?> 

我把所有的HTML块到一个PHP变量,但我想打破PHP的我们,并返回到它,语法阅读目的。

+4

你有没有考虑不使用三元操作;或者如果你的目标是把文本放入一个变量,使用heredoc?还要注意,你总是可以将两个文本选项放入单独的变量中,然后使用'$ c = $ cond? $ a:$ b'包含您定义的变量。 – Amber

+3

我试图让代码更具可读性,而不是更少。 –

+3

讨厌这种语法,跳入和跳出php并不是一个好方法 – 2015-06-21 04:08:53

回答

1

在语法上,与ternary operator表达,是一个指令,你无法在PHP标签打破了单一的指令,无论嵌套PHP和HTML代码块。

例如,如下生成语法错误:

<?php echo 1==2 ? "eq" : ?><?php "ne"; ?> // syntax error, unexpected '?>' 
<?php $seven = ?><?php 7; ?>    // syntax error, unexpected '?>'