Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 22.01.08 Prihlásený: 25.10.09 Príspevky: 58 Témy: 8 | 8 |
Zdravim,
potreboval by som poradit. Robim hodnotenie na stranku a ukladam ho ku kazdemu clanku zvlast. Hodnotenie je tvorene z piatich hviezdiciek a tak mam v subore toto: 1|1|1|1|1 ...ked to ale rozbijem pre kazdu hviezdicku a robim priemer, tak prvy zaznam z pola nedokaze nasobit ani hociako s nim manipulovat, vzdy vyhodi nulu, s ostatnymi aj napriek tomu ze su to stringy tak s nimi pracuje normalne.
Odstranil som to tak ze som dal na zaciatok nulu: 0|1|1|1|1|1 ...potom to uz islo bezproblemovo, kedze som prvu hodnotu pola preskocil. Ale potrebujem to vyriesit len s piatimi udajmi.
Prosim poradte ak viete ako previest tie hodnoty na integer, teda na cislo. Skusal som aj settype a podobne funkcie ale nie a nie dosiahnut nejaku hodnotu.
Vdaka
|
|
Registrovaný: 01.01.06 Prihlásený: 25.12.21 Príspevky: 366 Témy: 47 | 47 Bydlisko: TT |
moc ti nerozumiem. Neskusal si to robit tak ze by si mal v subore zapisane
pocet_bodov|pocet_hodnotiacich
takto v skratke, ak nechapes, rozpisem sa
_________________ He who laughs last has not yet heard the bad news.
-- Bertolt Brecht
medicine student |
|
Registrovaný: 22.01.08 Prihlásený: 25.10.09 Príspevky: 58 Témy: 8 | 8 |
no ja to mam riesene tak ze mam pre kazdu hviezdicku pocet hodnotiacich, proste ako v skole...mam pat znamok a ku kazdej pocet hodnotiacich.
Ja ale nemam problem to vypocitat, ja mam problem pracovat s prvou hodnotou pola.
mam napisane:
Kód: $hodnotenia=explode("|",$otvorenysubor); $hodnotenie=round(($hodnotenia[0]*5+$hodnotenia[1]*4+$hodnotenia[2]*3+$hodnotenia[3]*2+$hodnotenia[4]*1)/array_sum($hodnotenia));
Problem je v tom ze tu cast: $hodnotenia[0]*5 ...vyhodnoti ako nulu, kedze vsetky hodnoty pola su stringy. Ja to potrebujem prekonvertovat na integer aby som s tym mohol bez problemov pocitat.
Popripade nejaky sposob ako to hned rozbit na cisla.
Mozno by to bolo jednoduchsie cez databazy, ale ja som phptarian.
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Ak potrebuješ číselnú hodnotu, použi intval(). Ale prihováram sa za databázu
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Tento kód pracuje tak ako má (PHP 5.2.5):
Kód: <?php $otvorenysubor = "1|1|1|1|1"; $hodnotenia=explode("|",$otvorenysubor); $hodnotenie=round( ( $hodnotenia[0]*5+ $hodnotenia[1]*4+ $hodnotenia[2]*3+ $hodnotenia[3]*2+ $hodnotenia[4]*1 ) / array_sum($hodnotenia) ); echo "<pre>".var_export($otvorenysubor, TRUE)."</pre> <pre>".var_export($hodnotenia, TRUE)."</pre> <pre>".var_export($hodnotenie, TRUE)."</pre>"; ?> A je to vlastne to isté, čo tvoj kód. Možno máš inú verziu PHP, tak sa to správa inak. Každopádne, pretypovanie sa rieši v PHP takto: Kód: <?php $otvorenysubor = "1|1|1|1|1"; $hodnotenia=explode("|",$otvorenysubor); $hodnotenie=round( ( (int)$hodnotenia[0]*5+ (int)$hodnotenia[1]*4+ (int)$hodnotenia[2]*3+ (int)$hodnotenia[3]*2+ (int)$hodnotenia[4]*1 ) / array_sum($hodnotenia) ); echo "<pre>".var_export($otvorenysubor, TRUE)."</pre> <pre>".var_export($hodnotenia, TRUE)."</pre> <pre>".var_export($hodnotenie, TRUE)."</pre>"; ?> Teda pred premennú dáš do okrúhlych zátvoriek chcený typ.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 22.01.08 Prihlásený: 25.10.09 Príspevky: 58 Témy: 8 | 8 |
Vdaka skusil som to rovnako a neslo, nakoniec bola chyba v samotnom subore s hodnotenim. Neviem ako ale nejake divne znaky sa objavovali pred prvym cislom, preto ho nikdy nebralo ako cislo. Som to troskou backspace a del presictil a uz to fachci, aj ked stale sa mi zda ze su to stringy, kedze su tam uvodzovky a nie iba cislo, ale kazdopadne dakujem p360t za pomoc. Pretoze chybu som objavil az pri var_export funkcii, predtym nebola viditelna.
Mozte zamknut.
|
|
Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 2 | 1251 | 10.10.2009 20:13 raf | | v PHP, ASP | 0 | 490 | 25.09.2008 15:17 rooobertek | | v PHP, ASP | 6 | 517 | 04.06.2010 10:42 camo | | v PHP, ASP | 1 | 383 | 29.08.2012 20:31 Ďuri | | v PHP, ASP | 2 | 336 | 02.06.2012 13:52 neopagan | | v PHP, ASP | 2 | 1090 | 10.01.2007 12:41 Papulka | | v Technológia .NET | 4 | 526 | 29.06.2014 13:43 killmaster | | v PHP, ASP | 2 | 490 | 05.06.2009 19:57 Draex | | v PHP, ASP | 5 | 506 | 19.03.2012 21:38 w3r0 | | v Assembler, C, C++, Pascal, Java | 10 | 1005 | 06.02.2011 11:37 coldak | | v PHP, ASP | 3 | 454 | 16.11.2009 14:00 stenley | | v PHP, ASP | 10 | 648 | 19.05.2011 11:43 jtomcik | | v Pevné disky a radiče | 1 | 404 | 13.10.2007 14:35 icefire | | v Assembler, C, C++, Pascal, Java | 6 | 372 | 07.04.2016 18:27 BX | | v PHP, ASP | 3 | 532 | 27.04.2009 14:23 johny694 | | v PHP, ASP | 6 | 701 | 11.01.2009 8:57 stenley |
|