Autor Zpráva
Kamil_M
Profil
Zdravím, potřeboval bych vysvětlit jednu funkci. Je to ze seriálu u PHP na Linuxsoftu.
function Bunka ($radek, $sloupec, $PrvniDen, $PocetDnu)
{
  $dny=Array(1=>"Po", "Út", "St", "Čt", "Pá", "So", "Ne");
  if ($sloupec==1) return $dny[$radek];
  $chcivratit = ($sloupec-2)*7 + $radek - $PrvniDen+1;
  if ($chcivratit<1 || $chcivratit>$PocetDnu) return "&nbsp;"; else return $chcivratit;
}

Má to vrátit buď zkratku dne v týdnu (pokud $sloupec==1), nebo číslo dne, nebo pevnou mezeru. Konkrétně nechápu, jak autor přišel na toto:
$chcivratit = ($sloupec-2)*7 + $radek - $PrvniDen+1;

Všechno tam chápu akorát nevím jak došel na ten vzorec na číslo dne. Díki za odpovědi.
Kamil_M
Profil
Celý kód je tady
Zerog
Profil
Si nech vypsat ty promeny a hned by ti to melo dojit ne?
Kamil_M
Profil
Zerog
Já nepotřebuju vypsat proměnný já potřebuju vědět jak na ten vzorec ten co ten skript psat přišel.
Leo
Profil
"Já nepotřebuju vypsat proměnný já potřebuju vědět jak na ten vzorec ten co ten skript psat přišel."

Logicky? Leo
Zerog2
Profil *
Tak staci pochopit ten kod ne? Si vypis promeny a je to. To ti pak docvakne.
Radim Hejhal
Profil
Dosazuj si v duchu hodnoty a propočítavej, uvidíš že to dělá přesně to co má a protože si to budeš muset všechno představit, pochopíš i vazby.

Tak třeba na vzorovém kalendáři na linuxsoftu je první den v měsíci čtvrtek. Výpisem zkratek se nezabýváme. Takže $sloupec = 2, $radek = 4, $PrvniDen = 4.
(2-2)×7+4-4+1 = 1
První násobení je tam kvůli připočítávání počtu dnů v dalších sloupcích. -2 je tam aby se připočítávali až od druhého týdne v měsíci. Od řádku musíš odečíst číslo prvního dne, aby se ti nenapsala 1 hned v prvním políčku kalendáře. A +1 protože chceme vypsat 1 a ne 0, korekce.

A jak na to Petr Zajíc přišel? Asi nikdo tu není takový jasnovidec :o)
1. Možná je geniální a tohle byl jen vedlejší efekt propočítání smyslu života.
2. Možná si jen tak ťukal do klávesnice, nechápajíc co to je, a najednou z toho byl 101 dílný seriál o PHP.
3. Asi si prostě stejně tak jako já před chvílí v duchu představil čeho chce dosáhnout (jedničku v druhém sloupci a čtvrtém řádku, další čísla zvyšovat) a podle toho postupně poskládal proměnné.

Prostě je si to třeba uspořádat v hlavě nebo postupně přidávat proměnné do vzorce v PHP, sledovat co to dělá a podle toho to upravovat.
Kamil_M
Profil
Radim Hejhal
Díki moc pochopil jsem ale sám bych na takovej vzorec asi nepřišel:D
Radim Hejhal
Profil
Ještě pár podobných vzorců takhle rozebereš a už budeš klidně vymejšlet vlastní ;o)
Mě to taky trvá dlouho když se dostanu k složitým věcem, ale kousek po kousku přidávám, neustále kontroluju co to dělá, vracím se, zase přidávám a ono se to nakonec složí. A když ne - vyspat se na to :o)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: