Kdo má dnes svátek?

Znáte to, na spoustě stránek je někde v hlavičce zmíněno, kdo má dnes svátek. A mně se to stalo právě dnes, že jsem se octnul před úkolem napsat PHP funkci vracející jméno, které je (dnes) v kalendáři.

Po dlouhém snažení jsem se dogooglil na článek na Intervalu řešící tento problém. Tam autor článku ukazoval řešení přes databázi, no po tom jsem netoužil, neb mi to v mém případě přišlo jako „jít na vrabce s kulometem“, či jak praví to přísloví. Ani řešení přes více polí, nebo přes více-rozměrové pole, které jsem zahlédl na jích webech, se mi nelíbily.

Z článku jsem si alespoň půjčil seznam jmen a po pár kliknutích v PSPadu mi z původní řady insert-ů vznikla krásná formulace array('Nový rok', ..., a mohl jsem začít psát samotné „vytahování z pole“.

Jen bych podotknul, že převod do pole jsem prováděl s tušením, že funkce date umí vracet něco-jako číslo dne v roce. A taky že ano, funkce date to umí. A tedy po pár minutách vznikla funkce svatek_ma, která navíc počítá i s problémem přestupného roku.

function svatek_ma() {
  $svatky = array('Nový rok','Karina','Radmila','Diana'...);
  $prestupny = date("L");
  $den = date("z");

  if($den<59) return $svatky[$den];
  else return $svatky[$den + !$prestupny];
}

Vysvětlivky

  • date("L") vrací 1 nebo 0 podle toho, zda je rok přestupný nebo ne
  • date("z") vrací číslo dne v roce (0–365)
  • podmínka slovně: pokud ještě nebylo letos 28. února, vyhoď jméno z pole na pozici čísla dne, jinak vyhoď jméno z pole na pozici čísla dne+1 anebo +0, podle toho, jestli je letošek přestupný.

Ke stažení:


Doplnění: Později rozšířením tohoto skritpu vznikla online aplikace Svátek: Kdo má dnes svátek?


Komentáře (3)

k formuláři

RSS kanál komentářů

    • Komentář číslo: 1
    • *
    • Jméno: Huggi
    • Odesláno:
      29.12. 2005 — 1:07

    Joha..narazil sem na dve chybky na tomhle blogu..

    1. odkazy na RSS i pro komentare mas spatne..mas tam feed:http://… takze o nejde..:)
    2. kdyz sem ti to chtel napsat nikde sem nenarazil na jakejkoli kontakt :)
    • Komentář číslo: 2
    • *
    • Jméno: Kahi
    • Odesláno:
      30.12. 2005 — 13:59

    Zdravím tě,

    1. ten „feed:“ tam přidává sám WordPress, takže to asi k něčemu bude, no nevím k čemu, tak jsem to smazal…
    2. díky za tip, do patičky jsem přidal emajl na sebe.
    • Komentář číslo: 3
    • *
    • Jméno: Huggi
    • Odesláno:
      1.1. 2006 — 12:52

    mno uz funguje i feed..

Přidat komentář

Nápověda ke psaní komentářů

Zde formátuje Texy!

  • *zvýraznění*
  • **silné zvýraznění**
  • > citace
  • "odkaz":http://kam
  • [4] reakce na komentář
  • zdrojové kódy a více

komentáře

úplně nahoru