我的HTML文档的head标签中有一些PHP(请参阅下面的3),这将加载正确的CSS样式表,具体取决于该特定领域在数据库中的网页登陆器。以下代码适用于数量庞大的100多个域。
我想知道我拥有的代码是否最有效,或者是否可以将组压缩为一个数组?这意味着我不需要那么多重复的行。
1。我第一次尝试(较短的)新代码:
strand
2。我第二次尝试使用(新的)较短的代码,但仍然太长,可能是错误的:
@if(strpos(strtolower($domdata->Lander),'bowling','birthday','cars','etc..') !== false)
<link rel="stylesheet" href="/css/custom/custom-group.css">
@endif
3。我的(现有)长代码:
@if(strpos(strtolower($domdata->Lander),'bowling') || (strpos(strtolower($domdata->Lander),'birthday') || (strpos(strtolower($domdata->Lander),'cars') !== false)))
<link rel="stylesheet" href="/css/custom/custom-group.css">
@endif
答案 0 :(得分:0)
我不确定我是否会使用这种方法进行代码管理,但是,这是您建议的一些代码减少示例:
$stufftoload = "bowling,birthday,cars,...";
foreach (explode(",", $stufftoload) as $name) {
if (strpos(strtolower($domdata->Lander), $name) !== false) {
echo "<link rel=\"stylesheet\" href=\"/css/custom/custom-group.css\">";
break;
}
}
按照James的建议,将“ @”放掉-您不想隐藏错误消息。我中断了一下,因为看来您可能会重复加载同一文件,尽管不知道$ domdata-> Lander是什么样子很难知道。例如,如果$ domdata-> Lander中仅包含“汽车”之类的内容,则可能会执行以下操作:
$stufftoload = "bowling,birthday,cars,...";
if (strpos($stufftoload, strtolower($domdata->Lander)) !== false) {
echo "<link rel=\"stylesheet\" href=\"/css/custom/custom-group.css\">";
}