簡體   English   中英

使用IF和Echo糾正PHP語法

[英]Correct PHP Syntax with IF and Echo

我希望我能從你們那里得到一些幫助。 下面的代碼有效,但是我懷疑這是編寫語法的好方法。 特別是因為這將需要大量的代碼。

我正在嘗試做的事情是創建一個列表,僅當一個項目具有值時才填充該列表。 我已經指定了變量是否具有值(我認為部分代碼也可以使用某些功能,但這是一個不同的問題)。 而且我找到了一種顯示或隱藏列表中項目的方法。 但是我不認為這是有效的。 那是我可以使用一些幫助的地方。

            <?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>";
                    }
            ?>

您可以使用php模板中廣泛使用的php替代語法,並在諸如zend manual和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; ?>
<?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; ?>

要為已回答的問題添加另一種選擇,您可以專注於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部分。

 <?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>";
                }
        ?>

您可以做的一件事是將字符串分配給變量,然后在末尾添加一個echo語句。 您也可以在雙引號中進行變量替換。 例如:

“訂單($ orderNum)”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM