- 1
if (substr(json_encode($row['list']), 0, 1) == '[') {
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
if (substr(json_encode($row['list']), 0, 1) == '[') {
Такой вот аналог is_array()
Lowezar 17.12.2013 19:38 # 0
Проверять это через json_encode() всё-таки можно назвать убийством котят...
Vasiliy 17.12.2013 20:07 # 0
так не лучше ?
Lowezar 17.12.2013 20:59 # 0
tirinox 17.12.2013 21:03 # 0
Lowezar 17.12.2013 21:20 # +1
Странноватая схема, честно говоря, почему не могли договориться чтоб всегда было вложение с {"*":[123,456]} если не различаются... Но это не ко мне вопрос. :)
bormand 17.12.2013 21:31 # +13
А эта схема еще странна тем, что непонятно, что делать если нужная локаль не нашлась. Юзать en_US? Юзать первую попавшуюся в массиве?
P.S. Я всё-таки за схему 1 файл - 1 язык. Она и работает пошустрее, т.к. не надо парсить кучу ненужных в данный момент языков (для пыхи, имхо, актуально). И новые переводы добавлять легко. Единственный минус - нужна тулза для редактирования, которая показывает, какие строки еще забыли перевести. Но без такой тулзы работа переводчика один хрен мазохизм ;)
Lowezar 17.12.2013 21:43 # +2
bormand 17.12.2013 22:18 # +11
Вот интересно, у этой софтины какая-то централизованная база, с которой работают переводчики, а файл - просто выгрузка из нее. Или же у них там веселый групповой секс с одним файлом? :) Во втором случае я им не завидую...
bormand 17.12.2013 21:13 # +11
Эээ, а вот это тогда что? http://php.net/manual/ru/function.is-array.php
P.S. А тьфу, дошло, тут нужно именно отличить массив с циферками от ассоциативного массива... Но нахрена?!
Lowezar 17.12.2013 21:15 # 0
bormand 17.12.2013 21:17 # +9
Lowezar 17.12.2013 21:21 # 0
anonimb84a2f6fd141 18.12.2013 06:34 # +1
Ох ё.
bormand 18.12.2013 07:28 # +1
kegdan 18.12.2013 10:48 # +1
torbasow 18.12.2013 13:07 # +2
anonimb84a2f6fd141 18.12.2013 14:01 # 0
Lowezar 18.12.2013 14:46 # 0
anonimb84a2f6fd141 19.12.2013 15:03 # 0
bormand 19.12.2013 15:25 # 0
Lowezar 18.12.2013 14:52 # 0
Но более точная проверка с is_string нужна ИМХО ещё реже, чем проверка на ассоциативность в принципе. :)
Если быть точнее, то из 2 раз на моём опыте ещё не было такого, чтоб array_values($arr) === $arr не подошёл.
bormand 18.12.2013 14:56 # +1
Lowezar 18.12.2013 15:38 # +1
3Doomer 18.12.2013 23:33 # −1
bormand 18.12.2013 23:42 # +2
kegdan 18.12.2013 23:50 # −1
inkanus-gray 18.12.2013 15:06 # +3
wvxvw 18.12.2013 16:54 # 0
bormand 18.12.2013 18:20 # 0
wvxvw 18.12.2013 18:46 # 0
bormand 18.12.2013 18:49 # 0
У поиска только скан (причем при поиске первого - не до конца) и банальный and на слиянии. У фильтра - скан + копирование найденных (т.е. еще и выделение памяти) + слияние результатов в конце. В итоге у поиска меньше бесполезной для данного случая работы.
wvxvw 18.12.2013 18:57 # 0
bormand 18.12.2013 19:02 # 0
При проверке условия, аля "один из элементов is_string" или "все элементы is_string", тредам достаточно вернуть bool, а результаты объединить and'ом (или or'ом).
При поиске первого или любого элемента надо вернуть только один элемент из каждого треда.
Ну неужели эти два варианта не будут быстрее, чем полноценный фильтр, у которого каждый тред должен вернуть массив\список, а потом их еще и нужно объединить? :)
wvxvw 18.12.2013 19:39 # 0
Как бы предположение такое, что мы создаем столько же тредов / процессов, сколько элементов есть в массиве :) Предположительно треды у нас очень дешевые, так что стоимостью создания можно пренебречь.
bormand 18.12.2013 19:49 # 0
> Как бы предположение такое, что мы создаем столько же тредов / процессов, сколько элементов есть в массиве :) Предположительно треды у нас очень дешевые, так что стоимостью создания можно пренебречь.
Представим коня в виде материальной точки, котрая равномерно и прямолинейно движется в вакууме.
Ну т.е. это что-то близкое к тем же spark'ам в хаскеле, нежели к традиционному разбиению на крупные подзадачи и исполнению их в worker thread?
wvxvw 18.12.2013 20:25 # +1
TarasB 18.12.2013 09:49 # +7
return true;