2015-09-09 2 views
0

Я написал следующие IF заявлениеPHP, если заявление здания URL-адрес

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; 
} 

Идея заключается в том, если страна ($ subcat) выбрано с идентификатором «78», URL будет отображаться по-разному.

+1

Не могли бы вы объяснить, что означает «не работает»? Вы получаете какие-либо ошибки? Является ли результат не ожидаемым? – Andrew

+0

Рассматривается 'isset();' или 'empty();' хотя я, возможно, неправильно понял ваш вопрос – Epodax

+1

, это, очевидно, не позволяет вам 'if ($ subCat == 78)', поскольку первая часть кода содержит то же самое, но установлена ​​в your 'elseif' –

ответ

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; 
    } 

} 
1

if $ maincat == 78, вы никогда не войдете в него, если. проверьте, нет ли существующего субката в if, а затем, если 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

Там нет ошибки ....

или может быть я неправильно понял ваш вопрос:

<?php 
 

 
$url = ""; 
 

 
$subCat = 70; // 78 
 

 
$mainCat = 1; 
 

 
if ($mainCat && $subCat == 78) { 
 
    $url = "subcat 78"; 
 
} 
 
elseif ($mainCat && $subCat && $subCat != 78) { 
 
    $url = "url other"; 
 
} 
 

 
echo $url; 
 

 
?>

Смежные вопросы