Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Дата, файл и массив
 
 автор: anuk   (05.02.2016 в 14:47)   письмо автору
 
 

Добрый день,

подскажите, пожалуйста, как решить вопрос: есть файл txt с днями рождения такого вида:

29.01.1979 - name1
31.01.1987 - name2
31.01.1993 - name3
02.02.1988 - name4
04.02.1990 - name5
04.02.1978 - name6
05.02.1977 - name7
и т.д.


необходимо сравнить текущую дату с датами в файле и при совпадении вывести имя человека у которого сегодня день рождения, это я сделала.
Теперь мне нужно проверить если сегодняшний день является субботой или воскресеньем, если да то запомнить имя(имена) и вывести их в понедельник. И здесь у меня не получается, я сравниваю с текущим днем , который каждый день меняется, то есть здесь я застряла :(, помогите, пожалуйста

  Ответить  
 
 автор: Valick   (05.02.2016 в 14:58)   письмо автору
 
   для: anuk   (05.02.2016 в 14:47)
 

показывайте код

  Ответить  
 
 автор: anuk   (05.02.2016 в 15:06)   письмо автору
 
   для: Valick   (05.02.2016 в 14:58)
 

Вот код:

function B (){
    $n = 0;
    $birth="birth.txt";
    $birth=file_get_contents($birth);
    preg_match_all("/(\d{2}\.\d{2})\.\d{4} - (.*)/",$birth,$res);
    
    for($i=0;$i<count($res[1]);$i++)
    {
        $a[$res[2][$i]]=$res[1][$i];
    }
    $today = date("d.m");
    if (in_array($today,$a)) {

        foreach($a as $key=>$val)
        {   
            if ($today==$val) {
                $n++;
                echo $key;
            }
        }
    }
    else {echo ' ';
    }
}

  Ответить  
 
 автор: KPETuH   (05.02.2016 в 15:19)   письмо автору
 
   для: anuk   (05.02.2016 в 14:47)
 

А в чем проблема с определением дня недели или с запоминанием до понедельника?

  Ответить  
 
 автор: anuk   (05.02.2016 в 15:53)   письмо автору
 
   для: KPETuH   (05.02.2016 в 15:19)
 

день недели определяю так:


$kk = date('d.m', strtotime("Saturday"));


не знаю как сравнить, запомнить и вывести именно в понедельник.
проверяла так:


if ($today==$kk) {
                $zz = $key;
 } 


Запомнить не получается

  Ответить  
 
 автор: Valick   (05.02.2016 в 17:07)   письмо автору
 
   для: anuk   (05.02.2016 в 15:53)
 

не надо ничего запоминать, должен быть алгоритм, который при запуске скрипта в понедельник, должен захватывать и проверять не только текущее число, но и предыдущие два дня.

  Ответить  
 
 автор: anuk   (05.02.2016 в 17:08)   письмо автору
 
   для: Valick   (05.02.2016 в 17:07)
 

большое спасибо, попробую

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования