[英]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.