|
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 2
|
|
Есть ли лучшая альтернатива решения задачи?28.01.2015, 15:47. Показов 914. Ответов 12
Метки нет (Все метки)
Есть строка формата :
005555,0 ,000000,000,09,22204545000 ,33363837355 ,33365765574 , ,00,28012015075753,28012017097542,280120 157937742.... которая передается в переменной $b и после обрезания сравнивается с выделенной красной частью, и так каждая строка с файла. ... if (substr($b,64,3) eq '333') ... Вопрос: можно ли реализовать это по другому (лучше)?
0
|
|
| 28.01.2015, 15:47 | |
|
Ответы с готовыми решениями:
12
Есть ли короткий путь решения задачи?
Есть ли более простой и оптимальный способ решения данной задачи? |
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
|
| 28.01.2015, 16:01 | |
|
лучше чем что? по скорости substr быстрее регулярного выражения.
Добавлено через 8 минут и если задача состоит в проверке символов, с 64-го по 67-й, то лучше и не придумать. ![]() вот разве что ещё unpack сравним по скорости.
0
|
|
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
|
| 01.02.2015, 02:42 | |
|
TC всё равно исчез ( похитили? ),
поэтому можно, конечно, поспорить на эту тему, но жаркой дискуссии не получится, потому что и в популярных книжках с картинками, и в сухой документации написано, как использовать pack / unpack для работы с текстом.
0
|
|
| 01.02.2015, 14:10 | ||||||
|
volodin661, с текстом или с последовательностью байт?
0
|
||||||
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
||||||||||||||||||||||||||
| 01.02.2015, 15:43 | ||||||||||||||||||||||||||
|
вот так - забивание гвоздя молотком:
1
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 2
|
|
| 01.02.2015, 18:59 [ТС] | |
|
ТС не исчез, просто выходные
Спасибо за примеры. Но все же если unpack работает быстрее и мне как раз это нужно, в чем минус реализации ''забиванием гвоздя микроскопом"?
0
|
|
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
|
| 02.02.2015, 12:54 | |
|
оставь бога в покое, ему сейчас есть чем заняться;
подобный benchmark есть в stackoverflow (http://stackoverflow.com/quest... han-substr) проверил и сам, подтвердилось: сам по себе ( в void контексте ) unpack быстрее, но на присвоении результата ( копировании строк ) теряет очень много, поэтому в конечном итоге ( на моем примере конкретно ) получается в 2-4 раза медленнее.
0
|
|
| 02.02.2015, 13:26 | ||||||||||||
|
Добавлено через 24 минуты О том, что тестировать в void контексте некорректно написано во втором посте. Забавно, что при конфигурации
0
|
||||||||||||
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
||||||||||||||||
| 02.02.2015, 15:50 | ||||||||||||||||
|
С Юникодом и большим числом извлечений
0
|
||||||||||||||||
| 02.02.2015, 16:18 | |
|
volodin661, а теперь уже подменяете задачу. Исходная задача ставилась выдрать значение из середины строки, а не распаковать данные!
Юникод или Utf8? Для utf8 такой формат A3A1 некорректный, размер символа от 1 до 6 байт;
0
|
|
|
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,924
|
||||||
| 02.02.2015, 16:45 | ||||||
|
Задачу я не подменяю, все про задачу ТС я написал в своем первом посте,
дальнейшее обсуждение идет по поводу сравнения скорости substr и unpack в различных случаях; один из таких гипотетических случаев, а именно множественное извлечение из одной строки, я снабдил тестом по скорости и привел его здесь. что-то осталось непонятно ? А про юникод и unpack все написано в документации, на другие источники я и не ссылаюсь. Так вот, Perl - это не PHP, поэтому заявленная поддержка юникода там реализована прозрачно во всех функциях и если я пишу формат "A" при режиме use utf8, то это означает именно character mode, а не byte mode и будет работать вне зависимости от физически выделенных байт
0
|
||||||
| 02.02.2015, 16:45 | |
|
Помогаю со студенческими работами здесь
13
Сделать алгоритм решения задачи (описание), есть программа и блок схема Кригинг - есть ли библиотеки для решения данной задачи за более "быстрое" время GETS: есть ли альтернатива? Есть ли альтернатива Compiz? Есть ли альтернатива фреймам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|