我是PHP新手,正在为Joomla K2项目布局编写模板文件。
我有一个额外的字段' DOMDocument
已配置为"是","否"或""。 $extrafields[15]
是一个文本字符串。
我有这个代码,但它可以提供有关如何简化它的建议,因为我知道它可能有点粗糙!
$extrafields[16]
答案 0 :(得分:0)
我倾向于做这样的事情:
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
答案 1 :(得分:0)
只需进行一些简单的调整,您就可以使代码更简洁:
以下代码段保留了与原始尝试相同的功能,但更容易理解。
if (!empty($extrafields[15]) && 'Yes' === $extrafields[15]) {
echo '<span class=sgl-bold>Sponsored by: </span>';
if (!empty($extrafields[16])) {
echo $extrafields[16];
}
echo '<br>';
}
也就是说,从上下文来看,您可能想要使用此处发布的solution BigScar。
为了使这个代码段更容易理解,你应该考虑使用数据结构(尽管我认为这是Joomla强加给你的东西):
$extrafields[16]
这样的数字数组中的值使用$showSponsor
之类的说话变量名称,而'Yes'
的字符串值,&#39;否&#39;和''
使用布尔值true
,false
和null
。记住:
There are only two hard things in Computer Science: cache invalidation and naming things.
答案 2 :(得分:-1)
if (@$extrafields[15] == "Yes") {
echo "<span class=sgl-bold>Sponsored by: </span>";
echo @$extrafields[16];
echo "<br>";
}