PHP/Instrukcja for: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Pętle: {{Uwaga}} |
m poprawka w opisie pętli; dodanie dodatkowej informacji do "Prostego wyświetlania tablic". |
||
Linia 7:
{{Definicja|'''Pętlą''' nazywamy strukturę kontrolną powtarzającą dany kod do czasu spełnienia określonego warunku.}}
Wiemy już, że pętla powtarza w kółko pewien fragment kodu. Różnice między poszczególnymi rodzajami dotyczą tego, jak i kiedy jest ona przerywana. Na początek zajmiemy się pętlą for. Pokazuje ona pazurki, kiedy zliczamy ilość wywołań pętli i na podstawie tego określamy, czy trzeba ją przerwać, czy nie. W for definiujemy trzy
*Startu - najczęściej inicjuje licznik wywołań
*Końca - warunek zakończenia
Linia 22:
?></nowiki>
Warunek startu tworzy nową zmienną ''$i'' z wartością zero. Następnie
{{Uwaga|Uważaj na warunek końca pętli! Jeżeli niepoprawnie go zdefiniujesz, pętla może nie wykonać się wcale albo też powtarzać się w nieskończoność. Drugi przypadek nie jest aż taki groźny, ponieważ PHP automatycznie przerywa wykonywanie skryptu, jeżeli trwa ono ponad 30 sekund.}}
Linia 41:
echo '<ul>';
for($i = 0
{
echo '<li>'.trim($plik[$i]).'</li>';
Linia 50:
Do określenia ilości wierszy użyliśmy poznanej już wcześniej funkcji ''count()''. Przy wyświetlaniu stosujemy jeszcze jedną: ''trim()''. Usuwa ona z początku i końca każdego wiersza białe znaki, tj. spacje, zejścia do nowej linii, tabulatory. Wynikiem działania skryptu jest zawartość pliku wyświetlona w liście wypunktowanej.
Zwróć uwagę na specyficzną budowę wyrażenia inicjacji pętli. Pragniemy utworzyć dwie zmienne, dlatego oddzielamy je przecinkami. Podobną sztuczkę możemy zastosować również w wyrażeniu iteracyjnym. Można się zapytać, dlaczego zastosowaliśmy tak rozbudowaną konstrukcję. Przecież dopuszczalne jest także napisanie:
for($i = 0; $i < count($plik); $i++)
Różnice w wydajności są niewielkie i prawdę mówiąc większość programistów nie zwraca na to uwagi. W typowych sytuacjach obie konstrukcje zachowają się podobnie, lecz warto pamiętać o pewnym niuansie technicznym. Pierwsza z konstrukcji pobiera ilość elementów tablicy na samym początku. Jeżeli któryś cykl pętli doda jakiś element, nie zostanie on uwzględniony. W drugim przypadku ilość ta jest pobierana po każdym cyklu, zatem pętla dysponuje bieżącymi informacjami o wielkości tablicy i wszelka jej zmiana zostanie uwzględniona w ilości wykonanych cykli.
=== Break i Continue ===
|