Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rzutowanie typu ze stringa
Forum PHP.pl > Forum > Przedszkole
trucksweb
odczytuje sobie zmienna z pliku
  1. $zm = array(0 => '1233.55', 1 => '3232323');
  2. $zmienna = (int)str_replace(".","",trim($zm[0]));


i jak wyswietlam
  1. echo gettype($zmienna ).$zmienna ;


to dostaje integer i 0 blinksmiley.gif
czemu ?
adasiu
a ja dostaję:
  1. integer123355
smile.gif
trucksweb
ok, dla recznie wpisanych liczb dziala, ale ja te liczby odczytuje z pliku txt i umieszczam je w tablicy (tej powyzej) i wtedyjuz nie dziala dry.gif
darko
Cytat(trucksweb @ 15.12.2010, 14:45:38 ) *
ok, dla recznie wpisanych liczb dziala, ale ja te liczby odczytuje z pliku txt i umieszczam je w tablicy (tej powyzej) i wtedyjuz nie dziala dry.gif

To nie ma znaczenia, zobacz sobie, co przechowuje tablica $zm: print_r($zm);
Być może tu leży problem. Dodam tylko, że do wyciągnięcia z łańcucha znaków liczby całkowitej służy funkcja intval (nie jestem pewny, co chcesz zrobić).
adasiu
zawartość file.txt
Kod
1233.55
3232323


  1. $zm = file('file.txt');
  2. $zmienna = (int)str_replace(".","",trim($zm[0]));
  3. echo gettype($zmienna ).$zmienna ;


i nadal dostaję
integer123355

smile.gif
trucksweb
a w pliku txt wpisz 122.22 @ dfrfg

zmienna $text - to string z zawartoscia pliku txt
  1. $array = explode("@", $text);
  2. $zmienna = (int)str_replace(".","",$array [0]);


i chce wyciagnac jako int'a 122.22

//edit
hmm, po odczytaniu printem_r $array
w $array[0] sa jakies znaki questionmark.gif ? jak sie tego pozbyc ? bo trim nie pomaga
adasiu
zawartość file.txt
Kod
122.22 @ dfrfg
122.22 @ dfrfg


  1. $zm_tmp = file('file.txt');
  2. echo print_r($zm_tmp, 1);
  3. $zm = explode('@', $zm_tmp[0]);
  4. echo print_r($zm, 1);
  5. $zmienna = (int)str_replace(".","",trim($zm[0]));
  6. echo gettype($zmienna ).$zmienna ;


i dostaję

Kod
Array ( [0] => 122.22 @ dfrfg [1] => 122.22 @ dfrfg ) Array ( [0] => 122.22 [1] => dfrfg ) integer12222


smile.gif

//edit
pytanie jakich znaków chcesz się pozbyć to raz a drugi raz to czy na pewno musisz to robić w ten sposób
trucksweb
to u mnie cos nie hula worriedsmiley.gif
gettype zwraca inta ale = 0

//edit
juz sie powoli wyjasnia.
Plik ma ustawione kodowanie na UTF-8
jak jest na ANSI wszystko dziala porpawnie.

mozna cos z tym zrobic ?

//
ok, rozwiazalem problem:
  1. $text = mb_convert_encoding($text, 'UTF-8',
  2. mb_detect_encoding($text, 'UTF-8, ISO-8859-2', true));

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.