Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ucinanie liczb
Forum PHP.pl > Forum > PHP
marcus753
z czymś takim to ja się jeszcze nie spotkałem...

mamy pliczek txt

Cytat
4|14
4|15
4|16
4|17
4|18
5|15
5|16
5|17
5|18


i kawałek skryptu php
  1. <?
  2.  
  3.  
  4. //wczytanie bazy
  5. $baza = "gotowiec.txt";
  6. $wiersz = file($baza);
  7. $a=0;
  8.  
  9. while(!empty($wiersz[$a])){
  10.  
  11. //wyciagamy dane pierwszego rekordu
  12. $rekord = explode('|',$wiersz[$a]);
  13. $rzad = $rekord[0];
  14. $kolumna = $rekord[1];
  15. $grupa = 0;
  16.  
  17. $wiersz[$a][0]=(int)$grupa;
  18. $wiersz[$a][1]=(int)$rzad;
  19. $wiersz[$a][2]=(int)$kolumna;
  20.  
  21. $a++;
  22.  
  23. }
  24. print_r($wiersz);
  25. echo"<br>";
  26.  
  27. $a=0;
  28. $c=0;
  29. while(!empty($wiersz[$a])){
  30.  
  31.  
  32. //wyciagamy dane pierwszego rekordu
  33.  
  34. $grupa = $wiersz[$a][0];
  35. $rzad = $wiersz[$a][1];
  36. $kolumna = $wiersz[$a][2];
  37.  
  38. $b=0;
  39.  
  40. while(!empty($wiersz[$b])){
  41.  
  42. //wyciagamy dane pierwszego rekordu
  43.  
  44. $grupan = $wiersz[$b][0];
  45. $rzadn = $wiersz[$b][1];
  46. $kolumnan = $wiersz[$b][2];
  47.  
  48. //definiowanie obszaru poszukiwan
  49.  
  50. $rzad1 = $rzad-1;
  51. $rzad2 = $rzad;
  52. $rzad3 = $rzad+1;
  53. $kolumna1 = $kolumna-1;
  54. $kolumna2 = $kolumna;
  55. $kolumna3 = $kolumna+1;
  56.  
  57.  
  58. //przeszukiwanie obszaru
  59. $wartosc=0;
  60.  
  61.  
  62. //TA LINIJKA JEST WAŻNA NA DOLE JEST WAŻNA !!!
  63. //----------------------------
  64.  
  65.  
  66. echo "porownujemy :".$wiersz[$a][0]."|".$wiersz[$a][1]."|".$wiersz[$a][2]."=|=".$wiersz[$b][0]."|".$wiersz[$b][1]."|".$wiersz[$b][2]."-";



//----------------------------
Podaje część bo reszta do mojego problemu jest nie potrzebna mianowicie skrypt powinien wyświetlić w pierwszej linijce coś takiego
Cytat
1|1|4|14


a wzamian za to wyświtla:
Cytat
porownujemy :0|4|1=|=0|4|1-


poprostu ucina mi liczby jedności exclamation.gif co ciekawe jak dam print_r() to wyświetla mi prawidłowo 14

wiecie może czym to jest spowodowane ? bo ja juz nie mam pojecia... sciana.gif

dla lepszego zrozumienia podam jeszcze jeden przykład:
  1. while(!empty($wiersz[$a])){
  2.  
  3. //wyciagamy dane pierwszego rekordu
  4. $rekord = explode('|',$wiersz[$a]);
  5. $rzad = $rekord[0];
  6. $kolumna = $rekord[1];
  7. $grupa = 0;
  8.  
  9. $wiersz[$a][0]=(int)$grupa;
  10. $wiersz[$a][1]=(int)$rzad;
  11. $wiersz[$a][2]=(int)$kolumna;
  12. ECHO $kolumna."|".$wiersz[$a][2];


$rekord[1]=14

więc dlaczego dla $kolumna wyświetla mi 14 a dla $wiersz[$a][2] 1 questionmark.gif? bezsens !
neverever
Jeju, dzisiaj mam za słaby łeb na analizowanie tego czegoś. Się nakombinowałeś.

po pierwsze, nadpisujesz sobie tablicę z danymi z pliku i kwiatki wyłażą. Weź daj

  1. $plik = file($baza); $wiersz=array();


i potem w pierwszej pętli:

  1. while(!empty($plik[$a])){
  2.  
  3. //wyciagamy dane pierwszego rekordu
  4. $rekord = explode('|',$plik[$a]);


po drugie, zamiast while można prościej operować pętlą foreach
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.