- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте...
Заранее прошу не пинать за такие "ламерские" вопросы - так PHP и не осилил...
Тем не менее вопрос задам, может посоветуете что-нибудь...
Для начала - чем вызван вопрос...
Есть массив данных (можно как массив в самом файле php, можно как отдельный текстовый файл - там всего около 30 строк):
16:00; текст 1
16:15; текст 2
17:35; текст 3
....
21:00; текст N
Задача:
в зависимости от текущего времени вывести определенное количество "текстов" (3-4), у которых время больше больше заданного... ну а если эти "большие" времена последние в массиве и "не умещаются" в 3-4 - вывести первые из массива...
т.е. при заданном кол-ве выводимых текстов = 2, и текущем времени 15:00, нужно вывести тексты 1 и 2
а при том же кол-ве выводимых текстов = 2, и текущем времени 20:00, нужно вывести тексты N и 1
кол-во выводимых текстов постоянно и задается изначально в переменной...
причем вывод "неумещающихся" текстов вторичен... им в принципе можно пренебречь...
Вопрос:
можно ли в PHP сравнивать "математически" текущее время и время из массива в формате "16:00"??
или для этого придется в массиве разделять часы и минуты и сравнивать их по отдельности?
есть ли какая-то альтернатива решения подобной задачи другими способами?
буду благодарен за любую подсказку
подсказка:
http://ua2.php.net/manual/en/function.date.php
Вижу как-то так, где-то накосячил, не могу понять где:
$postingtime[1]['hours']=13; // время постинга - Часы, двумерный массив.
$postingtime[1]['minutes'] =39;// время постинга - минуты
echo $postingtime[1]['hours'].":".$postingtime[1]['minutes'];// заданное время первого постинга, для наглядности вписал.
$timehours=date("H");// текущее время в часах
$timehours=settype($timehours,integer);// приведение строки к integer
$timeminutes=date("i");
$timeminutes=settype($timeminutes,integer);
$postingtime[2]['hours']=13; // время постинга - Часы, для второго задания постинга.
$postingtime[2]['minutes'] =39;// время постинга - минуты
if ($postingtime[1]['hours']==$timehours){//если в часах время одинаковое
if($postingtime[1]['minutes'] <= $timeminutes){ // сравниваем минуты
echo "Статьи";
}
}
if ($timehours>$postingtime[1]['hours'])// если текущее время в часах больше заданного, постим.
{
echo "Запрос в базу и вывод статей";
}
if ($postingtime[2]['hours']==$timehours){//если в часах время одинаковое
if($postingtime[2]['minutes']<= $timeminutes){
/* сравниваем минуты, если минут у постинга меньше или столько же сколько у минут текущего времени, постим*/
echo "Статьи2";
}
}
if ($timehours>$postingtime[2]['hours'])
{
echo "запрос в базу и вывод других статей";
}
?>
P.S пхп изучаю недавно, так что не пинать. Насчёт вывода заданного количества статей уже другой вопрос. Но раз арифмитические действия, как я увидел в постах ниже, можно выполнять сразу же,то половина кода не нужна вовсе.
Если нужны математические операции (вычитание и пр)
http://php.net/manual/ru/function.strtotime.php
Алгоритмически для любого языка можно сравнить 16:00 и 17:00 как обычные строки и ответу будет верным 17-00 больше чем 16-00
ребят сорри, мануалы читал - не нашел объяснений (и не понимаю многого, и по английски примеры описаны)
Алгоритмически для любого языка можно сравнить 16:00 и 17:00 как обычные строки и ответу будет верным 17-00 больше чем 16-00
да... это верно - сравнение фактическое работает, однако...
сравнение справедливо получаю, однако дельта...
исходное время меньше времени 2
исходное время меньше времени 3
время 2 больше текущего на = 0
время 3 больше текущего на = 1
а где минуты???
текстовые строки складываете, а хотите время на выходе получить
с типами данных разберитесь вначале: http://php.su/learnphp/datatypes/
все... теперь в голове сложилась картина + информация из мануалов...
спасибо всем
когда происходит вычитание
$delta1 = $newtime1 - $nowtime;
$delta2 = $newtime2 - $nowtime;
$delta3 = $newtime3 - $nowtime;
тут в переменных записано время. пхп не умеет работать с временем так просто, только с числами. поэтому все что после : отбрасывается
time() возвращает int - количество секунд
соответственно, к значению применимы арифметические операции