Php- zkácení kodu
Ahoj lidi mám problém...můj kod (na automatické tabulky k rozpisům turnaje) je poměrně složitý a některým by to mohlo pomalu nabíhat...tak zkacuju kod kde se dá...ale nějak nevím jak zkrátit tohle:
if ($kfctym1 == 0) include "6tab2/tym1.inc";
elseif ($kfctym2 == 0) include "6tab2/tym2.inc";
elseif ($kfctym3 == 0) include "6tab2/tym3.inc";
elseif ($kfctym4 == 0) include "6tab2/tym4.inc";
elseif ($kfctym5 == 0) include "6tab2/tym5.inc";
elseif ($kfctym6 == 0) include "6tab2/tym6.inc";
elseif ($kfctym7 == 0) include "6tab2/tym7.inc";
elseif ($kfctym8 == 0) include "6tab2/tym8.inc";
Díky moc (je toho víc pod sebou takže mě prosím nepište komentáře typu že se to o moc nezrychlí dík)
Oprava názvu tématu: zkrácení kodu
Nezkusil si dát "upravit" ???!
upravit? myslíš ten název? nejsem zaregistrovaný tudíž to nepůjde..
Promiňte, oči mám rozostřené
// pracujiiii
$includeThisFile = $kfctym2 ? $kfctym3
Na tohle switch použít nemůžeš.
Jedině asi použít cyklus for.
Symbolicky zapsané takto:
nějak to nefunguje....píše to chybu na prvním řádku toho co si napsal...zkusil jsem tam dát závorky ale nic chyba furt
Dyť jsem psal, že to je symbolicky - to znamená že tam jsou syntaktické chyby. Šlo mi o to, ukázat ti postup řešení - naprogramování těch 3 řádků snad zvládneš, ne?
tohle to vypíše:
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in D:\www\nove\6skup.inc on line 1030
pokud tam přidám závorky takto:
for ($i=1 to 8)
{
if ($kfctym+$i == 0) include "6tab2/tym+$i.inc";
break;
}
tak to napíše toto:
Parse error: parse error, unexpected T_STRING, expecting ';' in D:\www\nove\6skup.inc on line 1030
Bože... tohle fungovat opravdu nemůže, vysvětlení jsem ti už napsal výše...
for ($i = 1; $i < 9; $i++)
{
if(@$kfctym.$i ? $kfctym.$i: $kfctym.($i+1))
{
include "6tab2/tym.$i.inc";
break;
}
i++;
}
Pochybuju, že by to fungovalo, navíc zbytečně složité a chybí ti u inkrementace proměnné znak dolar.
taky že to nefunguje
Jo jo. Už se mlátím do glavy...
TO JE OOOOOOOOONOOOOOOO ďakujem pekně - Přišel viděl zvítězil
Keď si to porovnáš s tým, čo napísal host, tak je to to isté, len v syntaxi PHP.
mám ještě jeden kod:
if ($skup == A and $tur == A) include "6tab3/tym1.inc";
if ($skup == A and $tur == A) include "6tab3/tym2.inc";
if ($skup == A and $tur == A) include "6tab3/tym3.inc";
if ($skup == A and $tur == A) include "6tab3/tym4.inc";
if ($skup == A and $tur == A) include "6tab3/tym5.inc";
if ($skup == A and $tur == A) include "6tab3/tym6.inc";
if ($skup == A and $tur == A) include "6tab3/tym7.inc";
if ($skup == A and $tur == A) include "6tab3/tym8.inc";
já nějak zapomněl jak mám dát aby to vypsalo více souborů
Ty "programuješ" v PHP nebo ne?
Vždyť stačí jen upravit losův kód:
Napísal by som to takto, aby sa v cykle nevyhodnocovala stále rovnaká podmienka:
Ano, já jsem striktně (a zabedněně) dodržel zadaný algoritmus, tedy aby se 8x vyhodnotila stejná podmínka. Což je samozřejmě blbost, tvoje řešení je lepší.
programuju...ale já umím klasickou podmínku a to je tak všechno...ale jak je tam funkce nebo tak na to koukám jak los...ale ne ten co mě tady posílá ten kod díky
S klasickou podmínkou si v programování dlouho nevystačíš. Teda, i když jak vidím...
K php existuje manuál, online help a další "zbytečnosti"....
já mám koupenou knížku...ale říkám přečtu si to 150x a čumím na to jak rád bych se toho naučil víc ale asi na to nemám buňky
když už tady tak jsme chtěl bych se zeptat jestli se dá vytvořit takováhle podmínka nebo něco podobného čím by to šlo udělat:
pokud je název souboru xxx vypiš yyy (je to jen takový nazorný příklad)
Pokud je někde slovo pokud tak se prostě podmínkám nevyhneš.
Jsem amater a loser (nezaměňovat s los ), ale myslím si, že podmínky vůbec
jsou nejčastější operací ve většině programů.
Ale tady se nic neptej. Já jsem v programování jen o kousíček méně zoufalý než ty.
Rozhodně si prostuduj tento seriál o PHP. Nikde jsem nic kvalitnějšího o PHP na netu fakt neviděl (česky).
Link
ta podmínka není přesná...potřebuju podmínku která zkontroluje jméno aktuálního souboru...ne existenci jiného... ale to je jedno...díky za ten manuál...mám koupenou knížku už asi rok ale ty knížky jsou divně napsaný
Jméno aktuálního souboru? Jaký soubor je podle tebe aktuální? Jméno souboru, jehož jméno chceš porovnat si uložíš do proměnné, např. $jmeno_souboru. Pak použiješ svoji oblíbenou vyhodnocovací podmínku
vysvětlím znovu třeba na tom jak by se to dalo použít a vysvětlit....:
Budu líný a uložím si nadpisy z každé stránky do promněných např.:
$index = "Home"
$kontakt = "Kontakt"
atd...
a pak potřebuju podmínku kterou vložím místo nadpisu a podle názvu souboru který návštěvník stránek otevře se zobrazí nadpis...už chápeš?
Lepší bys to měl cpát do pole
Jak zjistíš jméno skriptu už napsali kolegové pode mnou, takže už ani nemusíš dávat žádnou podmínku, ale rovnou zobrazit nadpis...
No to by se mělo dělat takhle:
No jinak platí co píše Host hned víš.
A v proměnné $script máš co?
Sakra... už to nejde opravit. Mělo taam být samozřejmě $ActualScript.
No nic jdu spat bude to optimální rozhodnutí...
Len neviem, na čo to je dobré, keď už v čase písania skriptu vieš, v akom je súbore...
Hele pane Lose vy jste genius tohle jsem potřeboval!! díííííky moooc už po několikáté mohl by jste si mě přidat na icq díky moc ...díky všem
Přidej si ho losi na ICQ, abych tě neotravoval jen já.
Kdepak. Los už podnikl opatření...
bych řek nechce si mě přidat...asi ví co dělá
asi bych to odfajfkoval vyřešeno
Lidi kde mám chybu? zase to nefunguje:
for ($i = 1; $i <= 8; $i++) (${"$zaptym$i"} = 0);
Tenhle zápis je syntakticky tak chybný, že ani netuším co to má dělat...
(myslím to tělo cyklu, podmínky jsou opsané ok... )
Mělo to zkrátit tohle:
$zaptym1 = 0;
$zaptym2 = 0;
$zaptym3 = 0;
$zaptym4 = 0;
$zaptym5 = 0;
$zaptym6 = 0;
$zaptym7 = 0;
$zaptym8 = 0;
už se do toho zamotávám no
už to mám
Přebejval ti tam dolar $ v proměnné $zaptym.
jj vím vim
Preco nepouijes pole? Snad php ma polia.
Pouzivat osobitne premenne $kfctym1 az $kfctymx to je totalna katastrofa, to programoval vyuceny kuchar/casnik?
php_arrays.asp