|
|
|
| есть 4 переменные : $a, $b, $c , $d
если нет никакой переменной :выполняем действие 1
если есть только $a : выполняем действие 2
если есть только $a и $b : выполняем действие 3
если есть только $a и $b и $c: выполняем действие 4
если есть только $a и $d : выполняем действие 5
если есть только $d : выполняем :
switch ($d)
{
case '1': выполняем действие 6; break;
case '2': выполняем действие 7; break;
case '3': выполняем действие 8; break;
case '8': выполняем действие 9; break;
}
|
что-то через isset и if совсем запутался... | |
|
|
|
|
|
|
|
для: serjinio
(18.08.2009 в 21:32)
| | откуда берутся переменные ?
почему так беспорядочно нужно проверять ?
можно понять и так , но в словах не всё сказано
<?
if (isset($a)) {
if (isset($d)) {
//действие 5
}
else if (isset($b)) {
if (isset($c)) //действие 4
else // действие 3
}
else // действие 2
}
else if (isset($d) && !isset($b) && !isset($c)) {
switch ($d)
{
case '1': выполняем действие 6; break;
case '2': выполняем действие 7; break;
case '3': выполняем действие 8; break;
case '8': выполняем действие 9; break;
}
}
else if (!isset($d) && !isset($b) && !isset($c)){
// действие 1
}
|
| |
|
|
|
|
|
|
|
для: serjinio
(18.08.2009 в 21:32)
| | > есть 4 переменные : $a, $b, $c , $d
так вы говорите сначала
> если нет никакой переменной :выполняем действие 1
так вы говорите потом.
Конкретизируйте как-то. | |
|
|
|
|
|
|
|
для: neadekvat
(18.08.2009 в 22:27)
| | Всё просто, это разбор алиасов URI
прошедших через шаблон модревайта , просто не хотел слишком запутывать в условиях
если нет никакой переменной :выполняем действие 1-это значить мы находимся в корневой директории "/" либо хидером редиректим в корень т.е на index.php
при наличии определенных переменных производится разная выборка из Бд те проверяются алиасы с тем что находится в бд...если условия не совпадают то редирект на 404 ,если совпадают то выбираем нужные данные...
почему беспорядочно ..потому что кроме стандартного вида ссылок типа /section/category/page
существуют и другого типа ссылки типа /rss.html ../contact.html и тд.. | |
|
|
|
|
|
|
|
для: serjinio
(18.08.2009 в 23:31)
| | стало ещё непонятнее копаться в пространстве имён )
,но в вышенаписанном
switch ($d) запускается только если из четырёх переменных установлено одно $d
можно вместо else if (isset($d) && !isset($b) && !isset($c)) { switch ($d)
сделать if (isset($d)) , если не важно установлено ли ещё что-то кроме $a
и тогда следующей проверкой не будет снова проверяться $d
останется else if ( !isset($b) && !isset($c)){
// действие 1 , ни одной переменной не установлено
;------------------------------------
и под // действие 2 попало кроме только установленной $a , ещё и установленныя $a и $c
больше ничего не заметил .) | |
|
|
|
|
|
|
|
для: heed
(19.08.2009 в 00:36)
| | heed ,спасибо , все состыковалось....
if (!isset($d) && !isset($b) && !isset($c))
можно компактней ( для isset )
!isset($d,$b,$c) | |
|
|
|