Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]foreach i while w środku
czezz
post 27.05.2011, 11:22:19
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


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.  


Ten post edytował czezz 27.05.2011, 11:30:53
Go to the top of the page
+Quote Post
mortus
post 27.05.2011, 11:40:15
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


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)!

Ten post edytował mortus 27.05.2011, 11:45:40
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:48