|
|
|
| Помогите составить условие перепробовал разные варианты.... нормально не работает
Приходят две переменные
надо составить такое условие...
если N=1 {выполняем только 1}
если N=0 {выполняем только 2}
если s=0 {выполняем только 3}
если s=1 {выполняем только 4}
если s == 0 && N ==1 {выполняем только 3}
если s == 0 && N ==0 {выполняем только 3}
если s == 1 && N ==1 {выполняем только 4}
если s == 1 && N ==0 {выполняем только 4} | |
|
|
|
|
|
|
|
для: serjinio
(06.08.2008 в 16:09)
| | Непонятное условие задачи.
Например, если s == 0 && N ==1 что выполняется? | |
|
|
|
|
|
|
|
для: Axxil
(06.08.2008 в 16:16)
| | Уточнил условие... | |
|
|
|
|
|
|
|
для: serjinio
(06.08.2008 в 21:15)
| | У вас получается "каша". Если это связанные переменные, то их состояния могут дать только 4 различных комбинации. У вас же их получается куча, а это уже бред - лишнее. Если они не связаны, пишите просто:
<?
if ($N) wrk1; else wrk2;
if ($s) wrk4; else wrk3;
|
| |
|
|
|
|
|
|
|
для: serjinio
(06.08.2008 в 16:09)
| | Что-то я не пойму, как первая группа условий (с одной переменной) может иметь место быть, если в скрипт в обязательном порядке передаются обе переменные? Или всё же возможны случаи, когда скрипту передаётся только одна из них? | |
|
|
|
|
|
|
|
для: DDK
(06.08.2008 в 21:23)
| | Не важно как они передаются, в любом случае 2 в степени 2, это 4, остальное это уже повторы - избыточность. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2008 в 21:28)
| | Ну раз не важно, так и пусть автор думайт сам свои хитрые условия. Гадателей-предсказателей он тут врядли найдёт. Или пусть учится граммотно излагать задачу и цели. | |
|
|
|
|
|
|
|
для: DDK
(06.08.2008 в 22:09)
| | Ну даже, если важно, то значит глупо :0) Ибо получается тогда, например, действие 1 и 3 одно и тоже. Двоичную арифметику еще никто не переписал. ) Тут, если принять, что N начинает с младшего числа (по номеру задачи), то пусть это и будет младшим разрядом, а s старшим, тогда:
<?
switch ($N | $s << 1) {
case 0: //выполняем 1
break;
case 1: //выполняем 2
break;
case 2: //выполняем 3
break;
case 3: //выполняем 4
}
|
Все, более четырех никак не получиться. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2008 в 22:15)
| | Нет, просто получается так, что первый блок условий исключает второй блок, так как входит в него. Вообще бред какой-то. | |
|
|
|
|
|
|
|
для: DDK
(06.08.2008 в 22:19)
| | Перепробовал все варианты но ничего не получилось,явно не хватало третьей переменной ,ввел третью переменную и все запустилось как надо...Всем огромное спасибо за участие и подсказки... | |
|
|
|
|
|
|
|
для: serjinio
(07.08.2008 в 01:59)
| | Явно, это, проще, одной переменной сделать ;-) | |
|
|
|