За последние 24 часа нас посетили 18675 программистов и 1702 робота. Сейчас ищут 874 программиста ...

Как через getDate получить номер недели?

Тема в разделе "PHP для новичков", создана пользователем CraftLawrence, 23 ноя 2014.

  1. CraftLawrence

    CraftLawrence Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    40
    Симпатии:
    0
    Есть страница сайта, где в блоке рекламной акции нужно каждую неделю менять приз. Всего есть 4 строчки текста, которые нужно циклично вставлять в одну и ту же позицию каждый понедельник.
    Есть идея просто через getDate получать номер недели и для всех 52 случаев прописать поочередно строчки.
    Но как правильно в php присвоить переменной, к примеру, curdate, номер текущей недели, чтобы в последствии проверять номер недели и подставлять строчку?

    Пробовал так, но не сработало:
    Код (Text):
    1.  
    2. <?php
    3. $date = getdate();
    4. $curdate = date("W", $date);
    5. ?>
    Я и не удивлен, учитывая что только начинаю осваивать php)
     
  2. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Откуда во втором параметре функции date, массив?
    Новичок ты или гуру, нужно смотреть, что ты пишешь.
    getdate - возвращает массив данных, информацию о дате
    date - форматирует и выводит дату
    Как можно влить массив в дату, когда там целое число только возможно.
    Вывод? Пишите не думая и не смотря в оф доку.
     
  3. CraftLawrence

    CraftLawrence Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    40
    Симпатии:
    0
    Этот код всего лишь то, что я смог сварганить на основании кучи информации с интернета.
    Как тогда получить номер недели? Критика это все хорошо, но было бы не плохо и по сути сказать. Я бы не писал сюда, если бы в интернете было доступно пояснено, как получить число недели.

    Добавлено спустя 11 минут 33 секунды:
    Метод многократных попыток методом подбора всех возможных и невозможных вариантов дал результат. Получилось сделать с помощью следующей строчки:
    Код (Text):
    1. $curdate = floor(date("W"));
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ого! флур это математическое округление до ближайшего меньшего целого числа. то есть по сути отсечение дробной части. интересно поглянуть чо у вас возвращает date(W) если оно должно вернуть номер недели в году а вам приходится его округлять.
    Код (Text):
    1. $ php -r "echo var_dump(date('W'));"
    2. string(2) "47"
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    умная функция, она видиво возвращает "среда подошла - неделя прошла" )))))
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    CraftLawrence, зачем искать информацию по всему интернету, если есть php.net? Я пишу на php несколько лет уже, но постоянно туда заглядываю, чтоб освежить в памяти информацию о той или иной функции.
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    http://php.net/getdate