我写了以下IF语句
if ($mainCat && $subCat) {
$url = "/subjects/".$mainCat->alias."/".$r->alias;
}
哪个效果很好。您可以在此处查看演示:http://217.199.187.199/equityschooltravel.co.uk/
但是我已经对它进行了扩展,并希望包含一个elseif,如果存在一个变量,但它不起作用:
if ($subCat == 78) {
$url = "/subjects/".$mainCat->alias."/".$subCat->alias."/".$r->alias;
}
elseif ($mainCat && $subCat) {
$url = "/subjects/".$mainCat->alias."/".$r->alias;
}
我们的想法是,如果选择ID为“78”的国家/地区($ subcat),则网址的呈现方式会有所不同。
答案 0 :(得分:1)
如果$ maincat == 78,你永远不会输入if。检查if中是否存在不存在的subcat,然后如果设置了subcat,你将转到else if。
if ($main && !isset($subcat)) {
$url = "/subjects/".$mainCat->alias."/".$r->alias;
}
elseif ($mainCat && $subCat) {
$url = "/subjects/".$mainCat->alias"/".$subCat->alias."/".$r->alias;
}
else ....
答案 1 :(得分:1)
没有错误......
或者我可能误解了你的问题:
<?php
$url = "";
$subCat = 70; // 78
$mainCat = 1;
if ($mainCat && $subCat == 78) {
$url = "subcat 78";
}
elseif ($mainCat && $subCat && $subCat != 78) {
$url = "url other";
}
echo $url;
?>
答案 2 :(得分:0)
最后,我通过这样做来修复它:
$diffCats = array('76','77','78','79','80');
if ($mainCat && $subCat) {
$url = "/subjects/".$mainCat->alias."/".$r->alias;
if (in_array($subCat->id, $diffCats)) {
$url = "/subjects/".$mainCat->alias."/".$subCat->alias."-language-trips/".$r->alias;
}
}