expanze promennych
|
28.6.2004 20:15
Pavel Kácha
|
>> <?
>> $uzivatel="Petr";
>> $server="Linuxsoft";
>> echo "Uživatel ".$uzivatel." je vítán na serveru ".$server."!<BR>";
>> echo "Uživatel $uzivatel je vítán na serveru $server!<BR>";
>> ?>
Ten samy vyznam ma i:
<? echo "Uživatel {$uzivatel} je vítán na serveru {$server}!<BR>"; ?>
A navic mi to prijde i prehlednejsi, ale to je vec nazoru. :)
S vyuzitim tohoto zapisu se pak daji delat celkem zajimave "obraty" s promennymi, ktere v jinych jazycich marne hledam. Ale nechci predbihat, jiste na ne prijde rada v dalsich dilech serialu. :)
Pekny tutorial, jen tak dal. V PHP uz nejakou dobu delam, ale obcas objevim neco noveho, nebo si upresnim znalosti. Diky. :) |
|
|
Re: Expanze promennych
|
28.6.2004 21:42
Petr Zajíc
|
Ten zapis je samozrejme prehlednejsi s temi slozenymi zavorkami {}.
Jde i tohle:
echo "Uživatel ${uzivatel} je vítán na serveru ${server}!<BR>";
Anebo tohle:
echo "Uživatel ${"uzivatel"} je vítán na serveru ${"server"}!<BR>";
Nektere veci v serialu zamerne vynechavam. Treba syntaxi HEREDOC mozna vubec rozebirat nebudu. Cilem tutorialu je spis to, co pises: Zacatecnikum by to melo pomoct se rozjet a pokrocili tam mozna najdou semtam neco, co je posune nebo nasmeruje.
Pak je tu jeste jedna vec: V prikladech hledam kompromis mezi praktickou hodnotou kodu, vyukovou hodnotou a slozitosti. Nekdy to je docela fuska... Ale samozrejme diky za komentar. |
|
|
Re: Expanze promennych
|
29.6.2004 02:00
Pavel Kácha
|
Ano, tohle vsechno jde. :) A kdo by nechtel pouzivat pole, muze zkusit jeste treba takovouhle kombinaci - samozrejme to jeste obalit nejakym cyklem (v nekterych pripadech to pole nahradi, ale neni to ono):
<?
$id = 13;
${"soubor".$id} = "logo.png";
// odpovida zapisu $soubor13 = "logo.png";
?>
A tohle jde zase kombinovat s ruznymi zavorkami atd, takze vznika dalsi spousta ruznych zapisu, ktere delaji totez. :) |
|
|
Re: Expanze promennych
|
29.6.2004 14:25
Petr Zajíc
|
A aby toho nebylo málo, jdou dělat kouzla nejen s názvy proměnných, ale i s názvy funkcí... v podobném duchu. |
|
|
Leden 2005 v kalendari
|
23.7.2004 21:14
David Macura
|
Nebudu chvalit nejlepsi serial o php, ktery jsem kdy cetl, ale radeji se zeptam, proc vse v kalendari funguje jak ma, ale skript proste neumi vypsat leden 2005. Napise pouze leden 2005 a tim konci. ????? diky. David |
|
|
Re: Leden 2005 v kalendari
|
24.7.2004 19:57
Petr Zajíc
|
Ve skriptu je bohužel chyba (respektive 2 chyby). Nebudu je teď opravovat, využiju to v díle věnovanému ladění chyb. Moc se omlouvám. |
|
|
Re: Leden 2005 v kalendari
|
27.7.2004 19:44
Tomáš Miklík
|
Problém je v tom, že 1. ledna 2005 je v sobotu a skript zjišťuje číslo prvního týdne v měsíci podle prvniho dne mesice. No 1. leden patri jeste do 53. tydne predchazejiciho roku. He he ja se taky chvili divil. :)) |
|
|
Re: Leden 2005 v kalendari
|
31.7.2004 09:01
Petr Zajíc
|
Mě už na to upozornil jeden čtenář mailem. Funkce date zjišťuje číslo týdne způsobem, který popisuje nějaká ISO (číslo momentálně nevím, ale dalo by se najít v nápovědě k funkci date). Ta zná jen 52 týdnů a ačkoli je to norma, ty přelomy roku nezpracovává moc intuitivně. Čili moje chyba, sypu si na hlavu prach, popel a diskety a řádně se očerním v díle(ch) o ladění skriptů. |
|
|
Re: Leden 2005 v kalendari
|
15.10.2004 00:49
Filip Novák
|
Zdravím a děkuji za pěkný seriál o PHP.
Problém s přechodem roku se dá vyřešit jiným výpočtem sloupců.
Např. takto:
<?
$sloupcu= ceil(($PocetDnu-(7-($PrvniDen-1))) / 7) + 2;
?>
S pozdravem
Filip Novák. |
|
|
Re: Leden 2005 v kalendari
|
12.3.2007 15:04
Jirka Dobrovolny
|
Ještě je pro výpočet sloupců jedna jednoduchá pomoc. Je to dost podobné, když už máme počet dnů a první den v měsíci, tak je snadné použít
$PocetSloupcu = ceil(PrvniDenMesice($mesic, $rok)+PocetDnuNaMesic($mesic, $rok)-1)+1;
Ta +1 na konci je tam kvuli popiskum dnu v tydnu, zkousel jsem to snad 20 let zpatky a 20 let dopredu na kazdy mesic a uplne v pohode. |
|
|
Re: Leden 2005 v kalendari
|
12.3.2007 15:07
Jirka Dobrovolny
|
Omlouvám se, ještě jsem to zapomněl tady při přepisu vydělit sedmi v těle té zaokrouhlovací funkce ceil. Takze spravne by to mělo být asi takhle:
$PocetSloupcu = ceil((PrvniDenMesice($mesic, $rok)+PocetDnuNaMesic($mesic, $rok)-1)/7)+1; |
|
|
Nefunguje mi to:(
|
18.3.2005 17:13
Chadas
|
Zkopíroval jsem si adrojový k´d kalendáře a výsledek je :
Parse error: parse error, expecting `'{'' in c:\server\apache\htdocs\serial\kalendar.php on line 10
Kde je chyba? |
|
|
Preco taky skok???
|
12.10.2006 10:42
Jozef Martoncik
|
Chcem sa spytat preco taky obrovsky skok, doteraz bol serial uplne lahky zvladal som vsetko co tu bolo a postupne som prichadzal na jednotlive veci avsak tuto s kalendarom ste pouzili take veci co doteraz neboli spominane, takze som to vobec nepochopil |
|
|
Re: Preco taky skok???
|
13.10.2006 08:38
Petr Zajíc
|
Takový skok je tu proto, že programování je v podstatě složitá věc. Jednou to přijít muselo. |
|
|
Súhlasím - veľký skok
|
10.1.2007 16:50
Martin Balaz
|
Súhlasím s príspevkom predomnou... proste prvých 15 kapitol úplne easy jak pre blbcou, čo programovanie ešte v živote nevideli by to dokazali pochopiť a napísať ale dojde 16 kapitola a zrazu kalendár v ktorom je použitých asi milion nových funkcií ktoré vôbec neboli vysvetlené, ako programovanie je veda ale da sa to vysvetlit aj bez takýchto zbytočných veľkých skokov... ale preklikal som si to aj dalej a musím povedať že to sprevádza celý serial.. (sorry autor) lebo autor je zjavne profik na php a dojde mu to ako jednoduche a pochopitelne tie veci čo tu píse ale človeku ktorý to vidí prvý krát a navyše napríklad nevie ani céčko ani žiadny iný naozaj programovací jazyk tak je to naozaj náročné, ja som tomu programu kalendar tiez nepochopil... autor!!! nevysvetlil si jak to funguje! aspon ja by som chcel tak trosku jak pre blbca... teraz som čital uvod do takeho že .jsp a tam je script a nižšie je napísané ludskou rečou riadok po riadku čo ten program robí a jak rozmýšla.. keby si to písal takto tak môžeš robiť skoky aj 7 mílové a ľudia tomu pochopia... ale zase ak to niekto chce jak pre blbca mat tak si moze asi najst iný portál alebo si kúpit knihu thats true.... asi si kupim knihu... |
|
|
Re: Súhlasím - veľký skok
|
11.1.2007 09:56
Petr Zajíc
|
Třeba můj seriál není pro Vás. Pochopím, když si najdete informační zdroj, který Vám bude vyhovovat. A - žádný profík na PHP opravdu nejsem ;-). |
|
|
RE: velky skok
|
6.4.2007 17:14
A.M.
|
Ako uz hovorili dalsi uzivatelia predo mnou k teme velky skok, tak nezostava mi nic ine ako LEN SUHLASIT!!! Ked som cital prvych 15 kapitol, uznaval som, ze jak dobre a podrobne to vysvetluje ten autor. Tesil som sa, ze sa uz naucim php, lebo uz aj na mnohych inych portaloch som bol a vacsinou to boli tutorialy zamerane na vysledok nez na ciel. Mna nezaujimaju ziadne COPY & PASTE tutorialy. No a ked som tu s nadsenim presiel na clanok o kalendari, tak som nemal sancu nic pochopit. Existuju aj naozajstni amateri, nielen skuseni programatori pan autor!! Tak by som bol fakt rad, kebyze podla toho aj pisete a hlavne VYSVETLUJETE!
Dakujem. |
|
|
Re: RE: velky skok
|
6.4.2007 18:53
Petr Zajíc
|
Třeba můj seriál není pro Vás. Pochopím, když si najdete informační zdroj, který Vám bude vyhovovat. |
|
|
oznaceni jaky je den
|
11.12.2007 19:22
negr
|
Pls poradi mi nekdo jak mam udelat tady v tom serialu (kodu) udelat at se mi vybarvy policko aktualniho dne?? myslim tim ze je treba 6 července tak pozadi za 6 bude treba modre a ne bile??
PLS thx |
|
|
Re: oznaceni jaky je den
|
16.12.2007 13:51
Jozef Valo
|
da sa to spravit napr. aj takto:
do funkcie Kalendar pridas parameter, ktory bude oznacovat den, ktory chces vyznacit:
function Kalendar ($den, $mesic, $rok) ....
a potom upravis vnutorny cyklus pri vypise tabulky:
for ($sloupec=1; $sloupec<=$sloupcu; $sloupec++)
{ $bunka = Bunka($radek, $sloupec, $PrvniDen, $PocetDnu);
if ($bunka==$den) echo "<TD width=\"30\" bgcolor=\"blue\"><B>".$bunka."</B></TD>";
else echo "<TD width=\"30\">".$bunka."</TD>";
} |
|
|
Odkazy na kalendáři
|
21.1.2008 20:47
Petr Havel
|
Šlo by udělat, že by každé číslo (datum) byl odkaz, který by se odkazoval na nějakou stránku a sebou neslo proměnnou s dadem na který jsme klikli?
dík za odpověď
Petr Havel |
|
|
Re: Odkazy na kalendáři
|
21.1.2008 23:43
Aleš Hakl
|
Slo a to pravdepodobne velice trivialne. |
|
|
Re: Odkazy na kalendáři
|
22.1.2008 16:59
Petr Havel
|
a tak jak? |
|
|
Počet sloupců - korektura
|
14.7.2009 21:07
Matěj Ošanec
|
"pokud více než tři dny přelomového měsíce spadají do ledna, je týden považován za první v novém roce, v opačném případě je považován za poslední týden v roce minulém."
tady bylo asi myšleno přelomového týdne místo měsíce,na chvíli mi to zamotalo hlavu:) |
|
|