Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]foreach i while w środku
Forum PHP.pl > Forum > Przedszkole
czezz
Chcę wyświetlić z tego pliku jedynie ten wiersz który zawiera wyłącznie liczbę/cyfrę.

plik2.txt
  1. No Such Instance currently exists at this OID
  2. No Such Instance currently exists at this OID
  3. No Such Instance currently exists at this OID
  4. No Such Instance currently exists at this OID
  5. 10
  6. No Such Instance currently exists at this OID


Muszę koniecznie użyć do tego funkcji foreach() - to warunek.
Funkcja foreach będzie powtarzała czynność tyle razy, ile jest wierszy w plik2.txt.

W foreach wpakowałem pętlę "while". Chcę przez to osiągnąć efekt taki, że:
- przy każdym powtórzeniu przez foreach, while będzie sprawdzał czy w wierszu występuje liczba. Jeśli tak: to ją wyświetli. Wszystko inne zostanie zignorowane.

Ten efekt prawie osiągnąłem.
Prawie, bo jedyna linia z 10 jest wyświetlana wiele razy sad.gif
Czy może ktoś mi pomóc jak to poprawnie napisać ?

  1.  
  2. <?php
  3. $plik = file('plik2.txt');
  4.  
  5. foreach($plik as $i => $linia) {
  6. $plik[$i] = trim($linia);
  7. while ($i <=100):
  8. if ($linia >= 1) {
  9. echo trim($linia); }
  10. $i++;
  11. endwhile;
  12. }
  13. print '<pre>';
  14. print_r($plik);
  15. print '</pre>';
  16. ?>
  17.  
  18.  
mortus
Za pomocą instrukcji while tworzysz pętlę, która tutaj jest Ci niepotrzebna i tylko stwarza problemy. Wystarczy zamiast całej pętli while użyć:
  1. if(is_numeric($plik[$i])) echo $plik[$i];

Instrukcja while nie jest instrukcją warunkową (służącą do porównywania)!
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.