- 1
- 2
//Функция some_function возвращает данные в формате var1=val1&var2=val2
parse_str(some_function());
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
//Функция some_function возвращает данные в формате var1=val1&var2=val2
parse_str(some_function());
Мой код примерно полуторагодовой давности.
Разбирал старые проекты встретил и подумал - говно или имеет право на жизнь?
Классическое
//Функция some_function возвращает данные в формате val1:val2
list ($var1, $var2) = explode(':', some_function())
ведь будет работать медленнее, не так ли? :)
gegMOPO4 02.02.2011 22:45 # 0
7ion 03.02.2011 00:41 # 0
bober_maniac 03.02.2011 01:01 # +13
У похапистов вообще на тему скорости с головой непорядок - любой идиотский алгоритм они выдают за оптимизацию по скорости.
guest 03.02.2011 01:58 # +5
2)Нужно делать оптимизацию, только при наличии весомых оснований, если это требует каких-то затрат, по сравнению с более простым способом.
gegMOPO4 03.02.2011 09:33 # +1
sectus 03.02.2011 10:06 # +5
___ 03.02.2011 10:08 # 0
Как будто explode не создает массив, предварительно изнасиловав строку с данными. Оптимизация, да.
Lure Of Chaos 03.02.2011 12:50 # 0
какая запись понятнее,
$pair[0], $pair[1], или $key,$value? внимание, вопрос:
gegMOPO4 03.02.2011 13:16 # −1
7ion 03.02.2011 13:18 # 0
gegMOPO4 03.02.2011 13:47 # 0
Вы наверное вместо $x=expr... всегда пишете parse_str("x=".urlencode(expr...))?
7ion 03.02.2011 13:51 # 0
Мне вообще массив не нужен, поэтому функция возвращает строку, которая парсится parse_str.
Это намного быстрее, чем explode и занимает меньше памяти, чем массив.
gegMOPO4 03.02.2011 14:02 # 0
7ion 03.02.2011 14:04 # −2
gegMOPO4 03.02.2011 14:14 # 0
Вот не пойму, что вам мешает прямо в функции присвоить результат данным глобальным переменным? Большей части недостатков избежали бы, с так волнующими вас скоростью и памятью тоже было бы лучше.
7ion 03.02.2011 14:16 # −2
Функция возвращает строго определенные значения, в которых не может быть знака равно и амперсанда.
>что вам мешает прямо в функции присвоить результат данным глобальным переменным?
>глобальным переменным?
Ой, мама.
Lure Of Chaos 03.02.2011 13:19 # 0
7ion 03.02.2011 12:56 # 0
Lure Of Chaos 02.02.2011 23:51 # −1