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 ("; echo "$orderNum"; echo ")</a></li>";
                    }
            ?>
4

5 回答 5

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; ?>
于 2012-08-21T13:35:08.347 回答
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; ?>
于 2012-08-21T13:29:37.970 回答
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 部分。

于 2012-08-21T13:28:55.143 回答
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>";
                }
        ?>
于 2012-08-21T13:25:07.597 回答
0

您可以做的一件事是将字符串分配给一个变量,然后在最后有一个 echo 语句。您也可以在双引号中进行变量替换。例如:

“订单($orderNum)”

于 2012-08-21T13:26:28.143 回答