Forever
5.02.2014 - 19:17
if (date("m") >= 3 && date("m") <= 5) {
echo "<p> Сейчас весна!</p> ";
}
if (date("m") == 12 && date("m") <= 2) {
echo "<p> Сейчас зима!</p> ";
}
if (date("m") >= 6 && date("m") <= 8) {
echo "<p> Сейчас лето!</p> ";
}
if (date("m") >= 9 && date("m") <= 11) {
echo "<p> Сейчас осень!</p> ";
}
Сейчас 02 месяц, но сообщение о времени года не выводится.
А вот это работает:
if (date ("m") == 2) {
echo "<p>Сейчас зема!</p> ";
В чем проблема?
Как дата может быть и 12 И(!!!) одновременно меньше либо равно двум?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Т.е.
if (date("m") == 12 || date("m") <= 2)
_____________
Gear FrameworkGear Framework на Github
AllesKlar
6.02.2014 - 16:10
Forever
в догонку...
После того, как разберешься, почему 12 не может быть меньше или равно 2, то совет:
используй elseif
потому, как, если у тебя Весна (первое условие выполнилось), то твой код все равно пойдет проверять остальные 3 условия.
Они будут ложные, но зачем проверка заведомо ложных условий?
_____________
[продано копирайтерам]
Invis1ble
6.02.2014 - 16:20
Цитата (AllesKlar @ 6.02.2014 - 14:10) |
Forever в догонку... После того, как разберешься, почему 12 не может быть меньше или равно 2, то совет: используй elseif потому, как, если у тебя Весна (первое условие выполнилось), то твой код все равно пойдет проверять остальные 3 условия. Они будут ложные, но зачем проверка заведомо ложных условий? |
ну и от меня: вызывать одну и ту же функцию с одними и теми же аргументами 100500 раз не хорошо
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
$arr = array(1=>'зима',2=>'зима',3=>'весна',4=>'весна',5=>'весна',
6=>'лето',7=>'лето',8=>'лето',9=>'осень',10=>'осень',11=>'осень',12=>'зима');
echo '<p>Сейчас '.$arr[(int)date("m")].'!</p>';
_____________
Стимулятор ~yoomoney - 41001303250491
Ну можно и так
$arr = array('зима', 'весна', 'лето', 'осень');
echo $arr[($m = date('m')) == 12 ? 0 : floor($m / 3)];
_____________
Gear FrameworkGear Framework на Github
linker, ну нам же самую производительную производительность подавай
_____________
Стимулятор ~yoomoney - 41001303250491
Ну а чё там, для процессора фигня вычислить все эти операции, а памяти меньше занимает и короче код
_____________
Gear FrameworkGear Framework на Github
AllesKlar
6.02.2014 - 16:54
вы на код ТС посмотрели?
вы ему еще блок ассемблера предлождите
Человек учится, делает первые шаги.
_____________
[продано копирайтерам]
killer8080
6.02.2014 - 17:02
Цитата (AllesKlar @ 6.02.2014 - 14:10) |
После того, как разберешься, почему 12 не может быть меньше или равно 2 |
а где у него там такое условие?
Цитата (Forever @ 5.02.2014 - 17:17) |
if (date("m") == 12 && date("m") <= 2) { |
ошибка была только в логическом операторе.
killer8080
6.02.2014 - 17:36
подкину автору вариант со свичем
switch (date("n")) {
case 1:
case 2:
case 12:
echo "<p> Сейчас зима!</p>";
break;
case 3:
case 4:
case 5:
echo "<p> Сейчас весна!</p>>";
break;
case 6:
case 7:
case 8:
echo "<p> Сейчас лето!</p>";
break;
case 9:
case 10:
case 11:
echo "<p> Сейчас осень!</p>";
break;
}
Zzepish
6.02.2014 - 18:05
Вариант Линкера мне понравился)
AllesKlar
Цитата |
вы ему еще блок ассемблера предлождите |
Цитата |
code segment `code` org 100h assume cs:code, ds:code month proc mov ax, code mov ds, ax mov ah, 2ah int 21h cmp dh, 0ch je isdec do: mov ax, dh mov bl, 3 div bl mov bl, 5 mul bl mov si, offset mon xchg al, si mov dx, ds:[ax][si] mov ah, 40h mov bx, 1 mov cx, 5 int 21h mov ax, 4c00h int 21h isdec: mov dh, 00h jmp do month endp mon db 'зима весналето осень' code ends end month |