我希望能得到你们的帮助。下面的代码有效,但我怀疑这是编写语法的好方法。特别是因为它需要大量的代码。
我要做的是创建一个列表,只有当一个项目有值时才会填充该列表。我已经指定变量是否具有值(我认为代码的一部分也可以使用一些工作,但这是一个不同的问题)。我找到了一种方法来显示或隐藏列表中的项目。但我不认为这是有效的。这就是我可以使用一些帮助的地方。
<?php
if(empty($orderNum))
{
echo "<li><a href='#' title='Brodit'>Tomte</a></li>";
}
else
{
echo "<li><a href='unordered.php?SupName=2&SupStatus=3' title='Brodit'>Order ("; echo "$orderNum"; echo ")</a></li>";
}
?>
答案 0 :(得分:4)
您可以使用php模板中广泛使用的php替代语法,并在文档中建议如zend手册以及symfony:
<?php if(empty($orderNum)): ?>
<li><a href="#" title="Brodit">Tomte</a></li>
<?php else: ?>
<li><a href="unordered.php?SupName=2&SupStatus=3"title="Brodit">
Order (<?php echo $orderNum; ?>)</a>
</li>
<?php endif; ?>
答案 1 :(得分:2)
<?php
if(empty($orderNum)){
echo "<li><a href='#' title='Brodit'>Tomte</a></li>";
} else {
echo "<li><a href='unordered.php?SupName=2&SupStatus=3' title='Brodit'>Order ({$orderNum})</a> </li>";
}
?>
您可以使用"foo {$var} bar"
代替"foo ".$var." bar"
。这(在我看来)更优雅。
如果HTML代码越来越长,我希望:
<?php if(empty($orderNum)): ?>
<li><a href="#" title="Brodit">Tomte</a></li>
<?php else: ?>
<li><a href="unordered.php?SupName=2&SupStatus=3"title="Brodit">
Order (<?php echo $orderNum; ?>)</a>
</li>
<?php endif; ?>
答案 2 :(得分:1)
要为已经回答的内容添加另一种替代方法,您可以专注于HTML而不是PHP:
<?php if(empty($orderNum)) { ?>
<li><a href='#' title='Brodit'>Tomte</a></li>
<?php } else {?>
<li><a href='unordered.php?SupName=2&SupStatus=3' title='Brodit'>Order ("<?php echo $orderNum;?>")</a></li>";
<?php }?>
如果您想利用HTML编辑器(语法验证,自动完成,......),这将非常有用。我会为大块HTML选择这种语法,并且在使用集成商时,因为它们不太可能搞砸PHP部分。
答案 3 :(得分:0)
<?php
if(empty($orderNum))
{
echo "<li><a href='#' title='Brodit'>Tomte</a></li>";
}
else
{
echo "<li><a href='unordered.php?SupName=2&SupStatus=3' title='Brodit'>Order (". $orderNum .")</a></li>";
}
?>
答案 4 :(得分:0)
您可以做的一件事是将字符串分配给变量,然后在结尾处使用一个echo语句。您也可以在双引号中进行变量替换。例如:
“订单($ orderNum)”