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

Форум PHP

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

 

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

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

тема: Укоротить логическое условие в if
 
 автор: opex   (31.10.2006 в 15:34)   письмо автору
 
 

Можно ли укоротить такую строку:

if ($id!=2&&$id!=9&&$id!=10&&$id!=11&&$id!=12&&$id!=13&&$id!=18)

?

   
 
 автор: AlexSol   (31.10.2006 в 15:41)   письмо автору
 
   для: opex   (31.10.2006 в 15:34)
 


if (($id<9 && $id!=2)||($id>13 && $id!=18)){}

   
 
 автор: opex   (31.10.2006 в 16:05)   письмо автору
 
   для: AlexSol   (31.10.2006 в 15:41)
 

Не так. Я имел ввиду что-то типа

if ($id!=[2,8,9,18])

Но так не проходит=)

   
 
 автор: Trianon   (31.10.2006 в 16:05)   письмо автору
 
   для: opex   (31.10.2006 в 15:34)
 


if(!in_array($id, array(2,9,10,11,12,13,18)) 

if(!(278020&(1<<$id)))

if($id < 9 && $id != 2 || $id >13 && $id != 18)

   
 
 автор: opex   (31.10.2006 в 16:26)   письмо автору
 
   для: Trianon   (31.10.2006 в 16:05)
 

Спасибо.
Объясните, пожалуйста,

if(!(278020&(1<<$id)))

   
 
 автор: Trianon   (31.10.2006 в 18:09)   письмо автору
 
   для: opex   (31.10.2006 в 16:26)
 

278020 - число, в двоичной записи которого на 2,9,10,11,12,13,18 местах стоят единицы.
278020(10) = 1000011111000000100(2)

   
Rambler's Top100
вверх

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