Začátečník v PHP - náhodné slovo a podm. IF
4 příspěvky
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
http://jimben.webz.cz/pokus125.php Dobry den, ucim se PHP a pro pochopeni funkci si pomaham generatorem nahodnych slov, cisel... tento script mi ale nefunguje spolehlive - jednou se vypise jak ma , podruhe ne. Je chyba v PHP nebo u mne napr. v cookies ? <?php $fp = FOpen ('SLOVO.txt', 'r'); while (!FEof ($fp)) { static $i = 0; //STATICKÁ PROMĚNNÁ $i SLOUŽÍ K POČÍTÁNÍ ŘÁDKŮ $i++; //INKREMENTACE $i switch ($i%2) { case '1': $citat[] = FGetS ($fp, 4096); break; } } FClose ($fp); $CisloCitatu = Rand (0,(Count($citat)-1)); //VÝBĚR NÁHODNÉHO CITÁTU print "Typ auta: <strong> <font color=red> $citat[$CisloCitatu]</font color=red></strong>"; ?> </p> <?php $jmeno ="$citat[$CisloCitatu]"; if($jmeno == "Skoda") echo "Máme auto $jmeno!"; else echo "Máme vůz $jmeno, Skodovku nechceme."; ?> </p>
-
Ten skript jsem moc nepochopil, ale první cyklus by se IMHO dal nahradit $citat[]=file('SLOVO.txt'); Nějak jsem nepochopil case '1': - testuješ na hodnotu 1 nebo řetězec '1'? PHP to sice nevadí, ale hůř se to chápe. Ostatně celý switch jak je napsaný postrádá logiku, zejména záhadná proměnná $i.
-
<HTML>Ten switch nedělá nic jiného, než že nutí $i skákat po dvou. Žádný jiný význam nemá, dokonce to ani neskáče ob řádek apod. Já bych doporučil totéž, co Kit - nastudovat si funkci file(). Pokud je každý citát uložen ob řádek, vypořádal bych se s tím při generování náhodného indexu (násobením dvěma).</HTML>
-
cz.php.net/file cz.php.net/print_r //vypisoval bych si jednotliva pole cz.php.net/echo //vypisoval bych znak v cyklu, kde mne zajima, jestli se ta cast provadi. Cokoliv, treba vypsat na obrazovku 1 cz.php.net/random cz.php.net/rand echo '1'; switch ($i%2) { case '1': $citat[] = FGetS ($fp, 4096); echo '2'; break; } echo '3'; podle mne to napise 13 13 13 a nikoliv ocekavane 123 13 123 13, protoze cislo % 2 je cislo a shoda s retezcem '1' zrejme nebude. navic nechapu, proc kazde druhy icko vybirat ze souboru, kdyz to muze delat kazde prvni