PHP/Instrukcja for: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Derbeth (dyskusja | edycje)
m →‎Pętle: {{Uwaga}}
Zyx (dyskusja | edycje)
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 warunkiwyrażenia:
*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 definiujemyokreślamy, że dopóki ''$i'' jest mniejsze od 10, pętla ma się powtarzać. Przy każdym cyklu należy zwiększyć wartość ''$i'' o 1.
 
{{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;, $ix <= count($plik); $i < $x; $i++)
{
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 ===