| | |
| 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 |
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 Bydlisko: TT | Napísal jaji: 13.07.2008 19:20 | |
|
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 | Napísal autor témy idiotart: 13.07.2008 20:59 | |
|
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 |
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 Bydlisko: BA - WESTSIDE | Napísal p360t: 14.07.2008 10:05 | |
|
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 | Napísal autor témy idiotart: 14.07.2008 11:04 | |
|
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 |
---|
| Pascal array to integer v Assembler, C, C++, Pascal, Java | 2 | 1222 | 10.10.2009 20:13 raf | | zoradenie array v PHP, ASP | 6 | 481 | 04.06.2010 10:42 camo | | Array problém v PHP, ASP | 1 | 344 | 29.08.2012 20:31 Ďuri | | WHERE array v PHP, ASP | 0 | 453 | 25.09.2008 15:17 rooobertek | | Array - porovnanie zaznamov v PHP, ASP | 2 | 1047 | 10.01.2007 12:41 Papulka | | C# multidimensional array v Technológia .NET | 4 | 489 | 29.06.2014 13:43 killmaster | | Array so subormi v PHP, ASP | 2 | 459 | 05.06.2009 19:57 Draex | | Hladanie v array v PHP, ASP | 5 | 478 | 19.03.2012 21:38 w3r0 | | pascal funkcia, array v Assembler, C, C++, Pascal, Java | 10 | 968 | 06.02.2011 11:37 coldak | | problem s Array v PHP, ASP | 3 | 429 | 16.11.2009 14:00 stenley | | php array multidimensional v PHP, ASP | 2 | 313 | 02.06.2012 13:52 neopagan | | Checkbox array s mysql v PHP, ASP | 10 | 619 | 19.05.2011 11:43 jtomcik | | Vymaze mi array udaje? v Pevné disky a radiče | 1 | 373 | 13.10.2007 14:35 icefire | | Java One Dimension Array v Assembler, C, C++, Pascal, Java | 6 | 337 | 07.04.2016 18:27 BX | | zistenie počtu v array v PHP, ASP | 3 | 499 | 27.04.2009 14:23 johny694 | | from mysql to array v PHP, ASP | 6 | 665 | 11.01.2009 8:57 stenley |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|