Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Нашел класс, непонятна пара вещей


Автор: nupple 15.9.2006, 12:08
http://www.mysql.ru/docs/naumov/class.mysql.html

Непонятен этот участок
Код

switch (1) {
                  case eregi(" IN \{SELECT", $sql):
                       switch (1) {
                          case eregi("^SELECT", $sql):
                               preg_match_all("/({[^}]*)/", $sql, $matches, PREG_SET_ORDER); // find matching sql

                               $sql_in = str_replace("{", "", strrchr($matches[0][0], "{"));
                               if(NULL == ($in = $this->set_IN($sql_in)))  return NULL;//~ ;

                               $sql = str_replace($sql_in, $in, $sql);
                               $sql = str_replace("{(", "(", $sql);
                               $sql = str_replace(")}", ")", $sql);

                               if(NULL == $this->query($sql, $debug)) return NULL;//~
                            break;
                       }

Если значение 1, однако в case идет поиск по рэгэкспу, и в каком случае это выполнится? КАк такое вообще может работать? 

Автор: nupple 16.9.2006, 15:54
Мда тупой был вопрос...

Автор: ewolf 16.9.2006, 17:13
Ну, если еще сам не понял, то если регулярка правильная, то в case оказывается значение 1, что совпадает со значением в switch...
Хотя, сам по себе код мегатупой

Автор: nupple 16.9.2006, 21:07
ewolf,
Дык я то и понял ) вопрос реально был тупой, под мухой наверно писал )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)