Как написать программу високосного года в одной строке с помощью PHP?Как написать программу високосного года в одной строке с помощью PHP?
ответ
Это как знать это с помощью одной строки кода :)
print (date("L") == 1) ? "Leap Year" : "Not Leap Year";
Еще короче: '$ isLeapYear = (дата (" L ") == 1);' – Gordon
@Gordon: Это правда, но я просто хотел распечатать вывод :) – Sarfraz
Спасибо за помощь – streetparade
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
Ах! Извините, я не знал смысла високосного года. Но я буду держать этот «ответ» здесь, если люди попадут сюда с вопросом, который, как я думал, вы спрашивали! –
Поскольку не существует никаких ограничений в том, как долго строка кода, если вы не используете код конвенции как у Zend Framework, вы можете использовать любые работы и писать в одну строку. Конечно, в зависимости от функциональности вашей видовой программы этого, вероятно, будет сложно поддерживать. Я видел унаследованный код, содержащий более 800 символов с PHP, HTML и CSS. Я могу рассказать вам о кровотечении.
echo date("L");
if (($year % 400 === 0) || (($year % 100 !== 0) && ($year % 4 === 0))) echo "leap";
От http://stackoverflow.com/questions/3220163/how-to-find-leap-year/#11595914 'if (year & 3) == 0 && ((year% 25)! = 0 || (год & 15) == 0) { /* високосный год */ } ' –
Я бы не хотел поддерживать этот код. Бит-операции для чего-то, что является только арифметикой, являются загадочными. Первоначальный ответ, который вы цитируете, рассматривается как производительность, поэтому в некоторых случаях это может быть актуальным. Но для всех остальных случаев я бы предпочел сохранить читаемое выражение. –
Обычно я размещаю URL-адрес в комментарии, когда что-то загадочно; или, поместите код в функцию типа «IsLeapYear», где ясно, что он делает. Поскольку григорианский календарь не меняется в ближайшее время, я не думаю, что «ремонтопригодность» вызывает большую озабоченность. Этот код может быть более чем в два раза быстрее и даже в десять раз быстрее в 8-битных встроенных системных CPU, где нет инструкции деления. –
даты ("L"); даже короче.
if(date("L")){
//leap year
} else {
//not leap year
}
Укажите, что вы подразумеваете под високосный год? Это может означать много вещей. –
Не прикасайтесь к клавише ввода. – Quentin
С большим использованием тернарного оператора ... – Skilldrick