[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Даты и определение праздника
Veterok
Привет всем,
Сижу думаю над кодом

<?
$date_today = date('d.m');
$date = array(
'23.09' => 'Happy day',
);


if ($date_today == $date)
echo "<font color='red'>$date_today</font>";
else
echo "$date_today";
?>


Хочу чтобы это чудо выводило Дату и говорило что сегодня за праздник..
Ну мб я что то не знаю, но учусь.. мб кто подскажет?



Спустя 12 минут, 2 секунды (23.09.2010 - 01:48) Ice написал(а):
Ну, почти.


$holiday = array(
'01.04' => 'April Fools Day',
'31.12' => 'Happy New Year'
);

$out; // введем переменную для вывода

foreach( $holiday as $k => $v ) // в цикле переберем все элементы массива
if( $k == date('d.m') ) { // если ключ массива равен текущей дате
$out = "Today is $k". date('.Y') ." - $v"; // пишем в переменную
break; // останавливаем перебор, так как праздник найден
} elseif( empty( $out ) ) // иначе, но если только переменная пуста,
$out = 'Today is'. date('d.m.Y') .'Today is no holiday'; // заполняем ее
echo $out;

Спустя 18 минут, 16 секунд (23.09.2010 - 02:06) Ser18 написал(а):
$date_today = date('d.m');
$a = array(6,3,2,16,9,23.09);

for($i = 0; $i <= count($a); $i++) {
if($a[$i] == $date_today){
echo $a[$i]." Праздник<br>";
}
}

Спустя 14 минут, 32 секунды (23.09.2010 - 02:21) Ice написал(а):
Минусы:
  • нерациональное использование переменной $date_today
  • один foreach производительнее for вкупе с функцией count
  • скрипт не рассчитан на вывод названия праздника в дополнение к дате (по условию)
  • ну, и до кучи - нерациональное использование "умных" кавычек smile.gif
----------------------------------------------------------------------------------------------------------------------------------

Есть еще способ, правда менее производительный:


$holidays = array(
array('date'=>'01.04', 'holiday' => 'April Fools Day'),
array('date'=>'31.12', 'holiday' => 'Happy New Year')
);


$out;

foreach( $holidays as & $h ) {
extract( $h ); // извлекаем массив в текущую символьную таблицу
if( $date == date('d.m') ) {
$out = "Today is $date". date('.Y') .' - '. $holiday;
break;
} elseif( empty( $out ) )
$out = 'Today is '. date('d.m.Y') .'. Today is no holiday';
}
echo $out;

Спустя 1 час, 32 минуты, 47 секунд (23.09.2010 - 03:53) Veterok написал(а):
Хм, ну я значит был на верном пути smile.gif
спасибо smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.