[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.01.08
Prihlásený: 25.10.09
Príspevky: 58
Témy: 8 | 8
NapísalOffline : 13.07.2008 17:14 | array stringy na integer

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


Offline

Užívateľ
Užívateľ
array stringy na integer

Registrovaný: 01.01.06
Prihlásený: 23.12.16
Príspevky: 366
Témy: 47 | 47
Bydlisko: TT
NapísalOffline : 13.07.2008 19:20 | array stringy na integer

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
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.01.08
Prihlásený: 25.10.09
Príspevky: 58
Témy: 8 | 8
Napísal autor témyOffline : 13.07.2008 20:59 | array stringy na integer

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.


Offline

Skúsený užívateľ
Skúsený užívateľ
array stringy na integer

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 14.07.2008 8:06 | array stringy na integer

Ak potrebuješ číselnú hodnotu, použi intval(). Ale prihováram sa za databázu


Offline

Skúsený užívateľ
Skúsený užívateľ
array stringy na integer

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 14.07.2008 10:05 | array stringy na integer

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.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.01.08
Prihlásený: 25.10.09
Príspevky: 58
Témy: 8 | 8
Napísal autor témyOffline : 14.07.2008 11:04 | array stringy na integer

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.


 [ Príspevkov: 6 ] 


array stringy na integer



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Pascal array to integer

v Assembler, C, C++, Pascal, Java

2

1056

10.10.2009 20:13

raf

V tomto fóre nie sú ďalšie neprečítané témy.

zoradenie array

v PHP, ASP

6

296

04.06.2010 10:42

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Array problém

v PHP, ASP

1

172

29.08.2012 20:31

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

WHERE array

v PHP, ASP

0

289

25.09.2008 15:17

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

Array - porovnanie zaznamov

v PHP, ASP

2

763

10.01.2007 12:41

Papulka

V tomto fóre nie sú ďalšie neprečítané témy.

C# multidimensional array

v Technológia .NET

4

186

29.06.2014 13:43

killmaster

V tomto fóre nie sú ďalšie neprečítané témy.

Array so subormi

v PHP, ASP

2

280

05.06.2009 19:57

Draex

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie v array

v PHP, ASP

5

237

19.03.2012 21:38

w3r0

V tomto fóre nie sú ďalšie neprečítané témy.

pascal funkcia, array

v Assembler, C, C++, Pascal, Java

10

666

06.02.2011 11:37

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

problem s Array

v PHP, ASP

3

262

16.11.2009 14:00

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

php array multidimensional

v PHP, ASP

2

164

02.06.2012 13:52

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Java One Dimension Array

v Assembler, C, C++, Pascal, Java

6

136

07.04.2016 18:27

BX

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie počtu v array

v PHP, ASP

3

313

27.04.2009 14:23

johny694

V tomto fóre nie sú ďalšie neprečítané témy.

from mysql to array

v PHP, ASP

6

446

11.01.2009 8:57

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Vytiahnutie správnej hodnoty array

v PHP, ASP

1

342

18.07.2009 14:09

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

haluz s php array

v PHP, ASP

5

176

18.08.2015 13:25

void



© 2005 - 2017 PCforum, edited by JanoF