Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Хитрое условие
 
 автор: serjinio   (06.08.2008 в 16:09)   письмо автору
 
 

Помогите составить условие перепробовал разные варианты.... нормально не работает
Приходят две переменные

s
N

надо составить такое условие...
если 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}

  Ответить  
 
 автор: Axxil   (06.08.2008 в 16:16)   письмо автору
 
   для: serjinio   (06.08.2008 в 16:09)
 

Непонятное условие задачи.
Например, если s == 0 && N ==1 что выполняется?

  Ответить  
 
 автор: serjinio   (06.08.2008 в 21:15)   письмо автору
 
   для: Axxil   (06.08.2008 в 16:16)
 

Уточнил условие...

  Ответить  
 
 автор: sim5   (06.08.2008 в 21:23)   письмо автору
 
   для: serjinio   (06.08.2008 в 21:15)
 

У вас получается "каша". Если это связанные переменные, то их состояния могут дать только 4 различных комбинации. У вас же их получается куча, а это уже бред - лишнее. Если они не связаны, пишите просто:

<?
if ($Nwrk1; else wrk2;
if (
$swrk4; else wrk3;

  Ответить  
 
 автор: DDK   (06.08.2008 в 21:23)   письмо автору
 
   для: serjinio   (06.08.2008 в 16:09)
 

Что-то я не пойму, как первая группа условий (с одной переменной) может иметь место быть, если в скрипт в обязательном порядке передаются обе переменные? Или всё же возможны случаи, когда скрипту передаётся только одна из них?

  Ответить  
 
 автор: sim5   (06.08.2008 в 21:28)   письмо автору
 
   для: DDK   (06.08.2008 в 21:23)
 

Не важно как они передаются, в любом случае 2 в степени 2, это 4, остальное это уже повторы - избыточность.

  Ответить  
 
 автор: DDK   (06.08.2008 в 22:09)   письмо автору
 
   для: sim5   (06.08.2008 в 21:28)
 

Ну раз не важно, так и пусть автор думайт сам свои хитрые условия. Гадателей-предсказателей он тут врядли найдёт. Или пусть учится граммотно излагать задачу и цели.

  Ответить  
 
 автор: sim5   (06.08.2008 в 22:15)   письмо автору
 
   для: 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
}

Все, более четырех никак не получиться.

  Ответить  
 
 автор: DDK   (06.08.2008 в 22:19)   письмо автору
 
   для: sim5   (06.08.2008 в 22:15)
 

Нет, просто получается так, что первый блок условий исключает второй блок, так как входит в него. Вообще бред какой-то.

  Ответить  
 
 автор: serjinio   (07.08.2008 в 01:59)   письмо автору
 
   для: DDK   (06.08.2008 в 22:19)
 

Перепробовал все варианты но ничего не получилось,явно не хватало третьей переменной ,ввел третью переменную и все запустилось как надо...Всем огромное спасибо за участие и подсказки...

  Ответить  
 
 автор: sim5   (07.08.2008 в 06:58)   письмо автору
 
   для: serjinio   (07.08.2008 в 01:59)
 

Явно, это, проще, одной переменной сделать ;-)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования