Ответы пользователя по тегу Алгоритмы
  • Как правильно выполнять эту задачу в php?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    тебе надо использовать foreach, примерно так

    foreach (glob('tm-contents/*.txt') as $filename) {
       $fileId = preg_replace('~\D~','',$filename); // удаляем все кроме цифр
       $data = json_decode(file_get_contents('tm-contents/'.$filename));
       foreach ($data as $key=>$arr) {
          // секретные действия с $data
       }
       file_put_contents ('rs/alx'.$fileId.'.txt', json_encode($data));
    }
    Ответ написан
    Комментировать
  • PHP. Есть ли решение, которое будет разбивать интервал дат на недельные периоды?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    $start = new DateTime('01.08.2014');
    $end = new DateTime('30.08.2015 23:59');
    $interval = new DateInterval('P1D');
    $dateRange = new DatePeriod($start, $interval, $end);
    
    $weekNumber = 1;
    $weeks = array();
    foreach ($dateRange as $date) {
    	$weeks[$weekNumber][] = $date->format('Y-m-d');
    	if ($date->format('w') == 0) {
    		$weekNumber++;
    	}
    }
    
    echo '<pre>';
    print_r($weeks);
    echo '</pre>';
    Ответ написан
    Комментировать
  • Как распарсить строку и построить дерево категорий товаров и услуг?

    orlov0562
    @orlov0562
    I'm cool!
    Я напишу в целом, т.к. это подойдет для любого языка

    Алгоритм работы парсера довольно прост, и по большей части делится на 3и этапа:
    1) Получить данные
    2) Разобрать данные
    3) Сохранить данные

    1) Для того чтобы получить данные, надо изучить стек функций для работы с сетью. Можно гуглить по такому запросу "Как скачать веб-страницу" + твой ЯП (PHP, Java, Python и т.д.). Тут ты должен написать функцию которой на вход передашь url, а на выход получишь данные (html, json, xml и т.д.)

    2) Разобрать данные можно либо с помощью готовых библиотек под нужный формат, либо с помощью регулярных выражений, либо с помощью строковых функций. Тут на помощь придет запрос "Строковые функции" + твой ЯП или "регулярные выражения" + твой ЯП. На этом этапе ты должен написать функцию, которой на вход поступают данные, а на выходе получаешь заранее утвержденную структуру.

    3) Сохранять данные в необходимой структуре можно в файлы или в БД. Опять в гугл с запросом "Работа с бд " + твой ЯП, либо "Работа с файлами" + твой ЯП. Тут твоя задача написать функцию, на вход которой приходит заранее утвержденная структура, а на выходе ты получаешь результат "сохраненные данные"

    Ну, собственно и всё. Идешь в гугл, изучаешь матчасть и пишешь парсер.

    Если же тебя в большей степени интересуют алгоритмы разбора, тогда советую посмотреть код "калькуляторов" на твоем ЯП, погуглить можно по запросу "калькулятор со скобками", "Разбор и вычисление выражений". Это классическая задача, разбор твоего куска будет очень похож.
    Ответ написан
    6 комментариев
  • Как переместить каретку в div на строчку ниже?

    orlov0562
    @orlov0562
    I'm cool!
    Вот так: jsfiddle.net/97dw6382/2

    Вкратце, в качестве диапазона надо использовать номер DOM элемента, а не текстовое смещение.
    Т.е. когда там текст, то это текстовое смещение, но если встречается любой dom элемент, тогда надо указывать его номер.

    Тут есть более подробное описание: stackoverflow.com/a/6939886
    Ответ написан
    3 комментария