Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana wierszy na kolumny
Forum PHP.pl > Forum > Gotowe rozwiązania
anek
Mam nastepujacy problem z plikiem tekstowym:

+ 0. 1029.910 -2.083 .000 92.378 128.541
+ 3. 1030.293 -1.965 .900 60.930 116.018
+ 6. 1029.569 -.005 1.000 61.349 132.177

Musze przeksztalcic wiersze w kolumny, czyli z tych 3 wierszy i 6 kolumn zrobic 6 wierszy i 3 kolumny i nie bardzo mi to idzie...;-(
Spacje mi sie placza w splicie itp itd
Moze ktos ma jakis pomysl na eleganckie i proste rozwiazanie?

pozdrawiam
DeyV
Kod
$tab= file ($plik);

foreach($tab as $wiersz){

$tablica[]=explode(' ', $wiersz);

}

$ile_k= count($tablica[0]);

$ile_w= count($tablica);



$new_tab=array();

for ($i=0; $i<$ile_w; $i++)

{

  for ($j=0; $j<$ile_k; $j++){

   $new_tab[$j][$i]=$tablica[$i][$j];

  }

}



$fp=$fopen($plik, 'w');



foreach ($new_tab as wiersz){

  fwrite($fp, implode(' ' , $wiersz);

}

Co ty na to?
anek
> Co ty na to?

Super, tyle ze nadal nie dziala
Jest tu duzy problem ze spacjami. Tutaj tego nie widac ale
moj wiersz ktory ma byc kolumna sklada sie z 6 kolumn podzielonych nieregularna liczba spacji wynikajaca ze zwiekszania lub zmniejszania sie liczb.
Wiersz w pliku textowym wyglada na przyklad tak :
+ 0. [3spacje] 1029.910 [4spacje] -2.083 [8spacji] .000 [3spacje] 92.378 [4spacje] 128.541

I dlatego po obrobce przez twoj skrypt wychodzi lekka degrengolada

Ale i tak bardzo dziekuje za pomoc!
DeyV
Należy więc usunąć powtarzajace się spacje, np. tak
Kod


$wiersz=preg_replace ("s+",' ',$wiersz);



##czyli ###

foreach($tab as $wiersz){

$tablica[]=explode(' ', preg_replace ("s+",' ',$wiersz));

}
czy jakoś tak - o tej porze łatwo o błedy winksmiley.jpg
kurtz
Cytat
Należy więc usunąć powtarzajace się spacje, np. tak
Kod


$wiersz=preg_replace ("s+",' ',$wiersz);



##czyli ###

foreach($tab as $wiersz){

$tablica[]=explode(' ', preg_replace ("s+",' ',$wiersz));

}
czy jakoś tak - o tej porze łatwo o błedy ;)
hmm ja sugerowalbym po prostu preg_split i PREG_SPLIT_NO_EMPTY. od razu swiety spokoj i nie martwisz sie o puste elementy
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.