Специально, пытался упростить выражение и поймать хоть что-то, но даже это мне не удалось :(
Не претендую на знание регулярок, но читать-править могу более-менее нормально, а вот самому написать что-то комплексное - как правило проблема.
Чего у меня, как вы догадались, нет. Я в основном программирую математические расчеты, когда в скрипте миллионы операций вычисления, на скорость приходится обращать внимание.
Эта штука как раз должна парсить на лету, а учитывая примерно 5000 страниц в прогоне и возможное распараллеливание, скорость явно не последнее место занимает в приоритетах.
В общем, здесь она важна :)
Не могу согласиться. Выбор технологии - вот это понятие субъективное, например, лично для меня легче поправить работающую регулярку, чем ваш код. Но я прекрасно понимаю, что это, возможно, от недостатка образованности - все-таки программирование у меня непрофильное занятие, а раз в год вникать во все детали непросто. Поэтому для оценки применяется единственный объективный критерий - скорость выполнения скрипта.
Ладно, конкурс так конкурс...
Первые два варианта по праву первенства уже присоединились к пьянке.
По остальным вариантам будет проведен тест на производительность.
Если предложенное решение быстрее ранее предлагавшихся, так и быть, проставляюсь еще и победителю 🍻
Окончание приема 19 марта 2015 23:59 МСК, оглашение итогов 20 марта.
Не ожидал такого отклика, спасибо всем откликнувшимся!
Спасибо, это идеальный вариант, похоже... номер WMR киньте в личку 🍻---------- Добавлено 16.03.2015 в 15:02 ----------
Интересное решение, возьму на вооружение, спасибо! Номер WMR киньте в личку 🍻
Пытался настроить вывод на киви, но не приходит смс на телефон +7-925-140****.
Повторил через 2 дня - опять не приходит.
На этот номер с киви смски доходят нормально.
На сайте не нашел как обратиться с этой проблемой в техподдержку, как вообще можно связаться с техподдержкой САПЕ по этому вопросу?
не помню, начальный слеш попадает в апач или нет? попробуйте варианты
Redirect 301 /ru/$ http://www.domain.com.ua/
Redirect 301 ^/ru/$ http://www.domain.com.ua/
Redirect 301 ^ru/$ http://www.domain.com.ua/
один из них должен работать правильно
блин, ну я и тупой временами...
спасибище!
вот тот же функционал на CSS
www.cssplay.co.uk/menu/avatars2.html
mozart007, извиняюсь, в мыслях уже полный сумбур. Постараюсь подробно: ваш код вносит в массив все значения, которые есть в $aDATA(массив двумерный).
Мне же необходимо, чтобы с той же логикой вносились только значения вложенных массивов, ключи которых перечислены в $varorder, причем в порядке, в котором они там перечислены. Ваш вариант работает так, как будто $varorder=array(0,1,2.....);
т.е.
значение $aDATA[0][2] попадает в $aDataOut[$aDATA[0][0]][$aDATA[0][1]][]
значение $aDATA[1][2] попадает в $aDataOut[$aDATA[1][0]][$aDATA[1][1]][]
значение $aDATA[2][2] попадает в $aDataOut[$aDATA[2][0]][$aDATA[2][1]][] и т.д.
требуется сделать так, чтобы
при $varorder=array(2,0,1);
значение $aDATA[0][1] попадает в $aDataOut[$aDATA[0][2]][$aDATA[0][0]][]
значение $aDATA[1][1] попадает в $aDataOut[$aDATA[1][2]][$aDATA[1][0]][]
значение $aDATA[2][1] попадает в $aDataOut[$aDATA[2][2]][$aDATA[2][0]][] и т.д.
при $varorder=array(2,3); //в тестовых данных правда нет $aDATA[0][3] но будут :)
значение $aDATA[0][3] попадает в $aDataOut[$aDATA[0][2]][]
значение $aDATA[1][3] попадает в $aDataOut[$aDATA[1][2]][]
значение $aDATA[2][3] попадает в $aDataOut[$aDATA[2][2]][] и т.д.
$varorder может быть, например, array(2,3,5,0,16);
Эталонный результат при $varorder=array(0,1,2);
Array ( [a] => Array ( => c [bb] => cc ) [aa] => Array ( [bb] => Array ( [0] => ccc [1] => cccc ) ) )
но если поменять $varorder=array(0,1,2); на $varorder=array(2,0,1); правильный результат будет таким:
Array ( [c] => Array ( [a] => Array ( [0] => b ) ) [cc] => Array ( [a] => Array ( [0] => bb ) ) [ccc] => Array ( [aa] => Array ( [0] => bb ) ) [cccc] => Array ( [aa] => Array ( [0] => bb ) ) )
$varorder=array(2,0); правильный результат
Array ( [c] => Array ( [0] => a ) [cc] => Array ( [0] => a ) [ccc] => Array ( [0] => aa ) [cccc] => Array ( [0] => aa ) )
mozart007, спасибо огромное, работает на ура, но проходит по порядку.
Не подскажите, как к ней можно прикрутить $varorder=array(0,1,2); ?
это порядок и перечень ключей для $data, мне ведь нужно не все а выборочно в соответствии с этим массивом. Который может быть и $varorder=array(2,0); например... не могу сообразить :(