[英]Advise on simplifying a PHP statement
我是PHP新手,正在為Joomla K2項目布局編寫模板文件。
我有一個配置為$extrafields[15]
的“額外字段”,輸出為“是”,“否”或“”。 $extrafields[16]
是一個文本字符串。
我有這段代碼,該代碼可以正常工作,但會提供有關如何簡化它的建議,因為我知道它可能有點粗糙!
if (!empty($extrafields[15])):
if ($extrafields[15] == "Yes") {
echo "<span class=sgl-bold>Sponsored by: </span>";
}
if ($extrafields[15] == "Yes"):
if (!empty($extrafields[16])):
echo $extrafields[16];
endif;
echo "<br>";
endif;
endif;
我傾向於做這樣的事情:
if(!empty($extrafields[15]) && !empty($extrafields[16])){
if($extrafields[15] == "Yes"){
echo "<span class=sgl-bold>Sponsored by: </span>";
echo $extrafields[16];
echo "<br>";
} //endif not empty
} //endif yes
您可以通過一些簡單的調整使代碼更簡潔:
以下代碼段保留了與原始嘗試相同的功能,但是更容易理解。
if (!empty($extrafields[15]) && 'Yes' === $extrafields[15]) {
echo '<span class=sgl-bold>Sponsored by: </span>';
if (!empty($extrafields[16])) {
echo $extrafields[16];
}
echo '<br>';
}
就是說,從上下文來看,您可能希望使用此處發布的解決方案 BigScar。
為了使此片段更易於理解,您應該考慮使用數據結構(盡管我認為這是Joomla強迫您執行的操作):
$extrafields[16]
這樣的數字數組中的值,而要使用諸如$showSponsor
類的語音變量名稱,並且 'Yes'
,'No'和''
使用布爾值true
, false
和null
。 記得:
if (@$extrafields[15] == "Yes") {
echo "<span class=sgl-bold>Sponsored by: </span>";
echo @$extrafields[16];
echo "<br>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.