PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): [1] 2 3 4 5 6 7 »

> Найдено сообщений: 92
shum0531 Отправлено: 28 Марта, 2020 - 14:25:15 • Тема: Как сделать последовательную итерацию • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 286
Дабы было понятней приведу пример:
CODE (javascript):
скопировать код в буфер обмена
  1. for (var index = 0; index < 5; index++) {
  2.     setTimeout(function () {
  3.         console.log('index: ' + index);
  4.     }, 500);
  5. }
  6. //результат
  7. //index: 5
  8. //index: 5
  9. //index: 5
  10. //index: 5
  11. //index: 5
Может для кого то это и не неожиданность, но я в ступоре. Как это обойти?
(Добавление)
Нашел решение. Мотет кому пригодится. https://ru[dot]stackoverflow[dot]com/questions/433887
shum0531 Отправлено: 22 Марта, 2020 - 15:38:32 • Тема: Неожиданный эффект preg_replace. • Форум: Регулярные выражения

Ответов: 6
Просмотров: 1966
LIME пишет:
А еще есть готовые библы по парсингу стандартных форматов. Учел?

Делал как то тесты на библиотеки, самый "скоростной" -это текущий)) . А если речь идет о внешних php extension, то тут тоже все сложно. Я дорабатываю чужой сайт, который на скудном хостинге))
shum0531 Отправлено: 22 Марта, 2020 - 15:08:23 • Тема: Неожиданный эффект preg_replace. • Форум: Регулярные выражения

Ответов: 6
Просмотров: 1966
LIME пишет:
shum0531 судя по твоему шаблону PCRE тебе совсем и не нужна замена по шаблону
предлагаю str_replace
дешево и сердито
или я чегото недопонял?
Строитель ???
(Добавление)
shum0531 шум я чето недопонял
в чем трабла?
(Добавление)
так стоп
неразрывный пробел
я точно с этим не сталкивался
Строитель, shum0531 вы на пальцах поясните а уж решения я вам выдам будьте уверены
ну не сталкивался я тыщу лет с версткой и текстами
все более по DDD и архитектуре и API

Весь прикол в том что str_replace не поддерживает limit, поэтому было принято решение использовать preg_replace.
В итоге решил таким образом:
PHP:
скопировать код в буфер обмена
  1. $replace_references = array('\0', '@@replace_temp@@');
  2. $curr_block = str_replace($replace_references[0], $replace_references[1], $curr_block);
  3. $html = preg_replace("!@@DTAG@@!", $curr_block, $html, 1);
  4. $html = str_replace($replace_references[1], $replace_references[0], $html);

То есть, с начало избавляюсь от ссылок вида "\0," потом preg_replace и после возвращаю "\0" на место.
Как то проще не придумал.))
shum0531 Отправлено: 20 Марта, 2020 - 18:05:50 • Тема: Неожиданный эффект preg_replace. • Форум: Регулярные выражения

Ответов: 6
Просмотров: 1966
Сам допер почему так)))
Другой вопрос: как запретить использование ссылок в параметре replacement?
shum0531 Отправлено: 20 Марта, 2020 - 13:36:59 • Тема: Неожиданный эффект preg_replace. • Форум: Регулярные выражения

Ответов: 6
Просмотров: 1966
Доброго времени суток.
Столкнулся с проблемой:
Почему то происходит замена не только в месте где '@@DTAG@@.', но и '\00a0'. В моем случае "\00a0" присутствует в css коде.
Помогите кто знает что это за баг и как его обойти.
shum0531 Отправлено: 12 Апреля, 2019 - 21:21:50 • Тема: Не понтятно как работать с ErrorException • Форум: Вопросы новичков

Ответов: 2
Просмотров: 353
Объясните как работать с ErrorException, а конкретно, второй ($code) и третий ($severity) параметр конструктора, не понятна разница
из примера
PHP:
скопировать код в буфер обмена
  1. function fn_error_handler($severity, $message, $file, $line) {
  2.     if (!(error_reporting() & $severity)) {
  3.         // Этот код ошибки не входит в error_reporting
  4.         return;
  5.     }
  6.     throw new ErrorException($message, 0, $severity, $file, $line);
  7. }
  8. set_error_handler("fn_error_handler");
Почему "0"? Ведь если мы будем ловить исключения, то:
PHP:
скопировать код в буфер обмена
  1. function fn_exception_handler($e) {
  2.     // то: $e->getCode() == 0, как раз то самы ноль, котовый мы передали вторым параметром;
  3. }
  4. set_exception_handler("fn_exception_handler"]);
Зачем тогда третий параметр?
shum0531 Отправлено: 05 Ноября, 2017 - 11:03:13 • Тема: Неправильное отображение математических вычеслений • Форум: Программирование на PHP

Ответов: 1
Просмотров: 525
Использую openserver php 5.6, windows 10 64x.
0.0000816 - 0.00003044 = 5.116E-5
shum0531 Отправлено: 11 Августа, 2016 - 11:29:58 • Тема: apache. При каждом запуске предупреждение в логах. • Форум: Apache и другие веб-серверы

Ответов: 1
Просмотров: 518
Запуск через службу, как рекомендовано.
в ErrorLog:
CODE (htmlphp):
скопировать код в буфер обмена
  1. [Thu Aug 11 11:18:40.274020 2016] [mpm_winnt:notice] [pid 5348:tid 604] AH00455: Apache/2.4.23 (Win64) PHP/7.0.9 configured -- resuming normal operations
  2. [Thu Aug 11 11:18:40.274020 2016] [mpm_winnt:notice] [pid 5348:tid 604] AH00456: Apache Lounge VC14 Server built: Jul  1 2016 11:43:51
  3. [Thu Aug 11 11:18:40.274020 2016] [core:notice] [pid 5348:tid 604] AH00094: Command line: 'D:\\shum0531\\Desktop\\server\\apache\\bin\\httpd.exe -d D:/shum0531/Desktop/server/apache'
  4. [Thu Aug 11 11:18:40.274020 2016] [mpm_winnt:notice] [pid 5348:tid 604] AH00418: Parent: Created child process 5684
  5. [Thu Aug 11 11:18:40.493039 2016] [mpm_winnt:notice] [pid 5684:tid 548] AH00354: Child: Starting 64 worker threads.

Помогите победить это.
shum0531 Отправлено: 19 Декабря, 2015 - 10:33:08 • Тема: Почему принято имена полей и таблиц завкочать в обратный опостраф? • Форум: Работа с СУБД

Ответов: 2
Просмотров: 703
Мелкий, спасибо за док ссылку и исчерпывающий ответ.
shum0531 Отправлено: 19 Декабря, 2015 - 09:14:09 • Тема: Почему принято имена полей и таблиц завкочать в обратный опостраф? • Форум: Работа с СУБД

Ответов: 2
Просмотров: 703
Делаю небольшую обертку для pdo.
Где-то ранее в просторах интернета прочитал, что php драйвер mysql базы воспринимает обратный и обычный опостраф как одно и тоже. Правда ли это, можно узнать только посмотрев исходный код драйвера. Только вот я си не знаю.
На данный момент в моей обертке парсится sql, находит имена полей и имена таблиц и обрамляет их методом pdo::quote(), если в именах полей отсутствует имя таблици через точку то добовляет. При работе с mysql обромляется обычным опострафом. Остальной функционал не имеет отношение к данному вопросу.
Вопрос.
Есть ли что-нибудь критичного в данном подходе? Или же лучше жёстко обреблять обратным опострофом, тогда почему?
shum0531 Отправлено: 31 Августа, 2015 - 18:31:10 • Тема: Вытащить всех потомков из Adjacency List (Mysql) • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 99
DeepVarvar, подскажите пожалуйста. Если в процедуре код возвращает более чем одну строку(результат), как их обработать?

Я полагаю в запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, parent_id INTO buff_id, buff_parent_id FROM routing WHERE parent_id = current_id;
надо добавить LIMIT 1 и условие id NOT IN () с id ранее выбранными результатами.
Вот ток не представляю как это сделать.
shum0531 Отправлено: 31 Августа, 2015 - 16:29:50 • Тема: Вытащить всех потомков из Adjacency List (Mysql) • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 99
DeepVarvar пишет:
Я вот, клепал, было дело: http://forum.php.su/topic.php?fo...35&topic=820

Спасибо, но это не совсем то. Мне нужен цикл вниз по дереву, а не к корню. И соответственно вложенность дерева неизвестно.
shum0531 Отправлено: 31 Августа, 2015 - 12:20:59 • Тема: Вытащить всех потомков из Adjacency List (Mysql) • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 99
Мелкий пишет:
PS: ёпт, даже sqlite умеет рекурсивный CTE? Ох уж этот mysql.

Да ваще. я второй день гуглю, изучаю процедуры. Вроде как ими можно, ток вот пока не соображу как Огорчение
shum0531 Отправлено: 31 Августа, 2015 - 11:54:51 • Тема: Вытащить всех потомков из Adjacency List (Mysql) • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 99
Таблица:
CODE (SQL):
скопировать код в буфер обмена
  1. DROP TABLE IF EXISTS `my_menu`;
  2. CREATE TABLE IF NOT EXISTS `my_menu` (
  3.   `id` int(11) NOT NULL AUTO_INCREMENT,
  4.   `url` varchar(255) NOT NULL,
  5.   `linck_name` varchar(255) NOT NULL,
  6.   `parent_id` int(11) NOT NULL DEFAULT '0',
  7.   `sort` int(11) NOT NULL DEFAULT '0',
  8.   PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;

Для sqlite использовалась рекурсия:
CODE (SQL):
скопировать код в буфер обмена
  1. WITH RECURSIVE tree_recursive (id, url, linck_name, parent_id, sort)
  2. AS (
  3.     SELECT id, '/' || url, linck_name, parent_id, sort
  4.     FROM my_menu
  5.     WHERE parent_id = [id]
  6.  UNION
  7.     SELECT my_menu.id, tree_recursive.url || '/' || my_menu.url, my_menu.linck_name, tree_recursive.id, my_menu.sort
  8.     FROM my_menu, tree_recursive
  9.     WHERE my_menu.parent_id = tree_recursive.id
  10. )
  11. SELECT tree_recursive.*
  12. FROM tree_recursive
  13. ORDER BY tree_recursive.sort

Но вот как быть с MySql?
shum0531 Отправлено: 27 Августа, 2015 - 12:45:05 • Тема: Используете ли вы префиксы в полях таблицы? • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 57
Sail пишет:

В заголовке - префиксы, в примерах - постфиксы.

Я не ошибся. В начале, в конце поля, не имеет значения.
префикс - это приставка.
постфикс - это словообразовательный суффикс.

Страниц (7): [1] 2 3 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB