Pętla while przyjmuje wyrażenie, podobnie jak if. Do momentu gdy to wyrażenie będzie prawdziwe (true), to ona będzie trwać, czyli wykonywać to co jest w środku.
Zacznijmy od stworzenia pętli for, bo ona będzie łatwiejsza:
- Aby zawsze były dodawane takie same liczby (w obu pętlach), tworzymy zmienną, która będzie je przechowywała. Typ zmiennej, która może przechowywać parę elementów (w typ przypadku liczb) to tablica, Array. Dodajemy do naszej tablicy liczy od 1 do 10 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Przyjmuję, że ta zmienna nazywa się $numbers
- Teraz tworzymy pętle for. Przyjmuje ona trzy parametry, każdy po średniku.
- Pierwszy parametr to akcja, która wykonuje się przed uruchomieniem pętli, czyli wykonuje się tylko raz. Zazwyczaj jest to przypisanie iteratora. Tworzymy nasz iterator, czyli tak na prawdę zmienną, która jest widoczna tylko dla tej pętli. Przyjęło się tak, że zmienna, która jest iteratorem nazywa się $i. My do niej przypisujemy wartość 0.
- Drugi parametr to wyrażenie. Jeżeli jest ono prawdziwe (zwraca true), to pętla się wykonuje, jeżeli nie to pomija ją i idzie dalej. W naszym przypadku chcemy, aby pętla wykonywała się do momentu, aż nie doda wszystkich liczb, że my jesteśmy sprytni to wszystkich liczb z tablicy. W PHP-ie istnieje funkcja, która zlicza elementy tablicy. Zwą ją count. Piszemy wyrażenie. Do momentu gdy $i będzie mniejsze lub równe count($numbers) -1 to wykonuj tą pętle. Odejmujemy jedynkę od count, ponieważ count zwraca liczbę elementów, a pierwszym indeksem jest 0, indeksem nie liczbą (wartością).
- Trzecim parametrem jest akcja, która wykonuje się po każdym zakończeniu przejściu pętli. W większości przypadku robimy coś z iteratorem, na przykład dodajemy do niego 1. W naszym przypadku też tak będzie. Dodajemy do zmiennej $i jeden.
- No i przyszedł czas na pobawienie się wnętrznościami naszej pętli. Do zmiennej $resultFor dodajemy (operator dodania i przypisania: +=) aktualny element tablicy. Aktualny element tablicy, czyli ten na, którego wskazuje iterator. Do jakiegoś elementu tablicy można dostać się dodając [indeks] dla zmiennej np. $numbers[0]. Naszym indeksem będzie iterator. Dodajemy do aktualnej wartości, przypisujemy i gotowe.
Pętla while przyjmuje tylko wyrażenie. Możemy zrobić to na dwa sposoby. Stworzyć sobie iterator przed pętlą i robić z nim to samo co pętla for, czyli pod koniec pętli dodawać do niego 1. Wyrażenie takie same. Gotowe!
Drugi sposób, dla kozaków:
- W PHP możemy ucinać pierwszy element tablicy i przypisywać go do zmiennej. I właśnie tego użyjemy. Takie cacko nazywa się array_shift(array). Ważnym słowej jest "ucina", bo to zawsze będziemy robić, dlatego przejdziemy też wszystkie elementy tablicy, a gdy ich zabraknie array_shift zwróci null, a wyrażenie uzna to za false. Musimy uważać, ponieważ taka pętla usunie nam tablicę (będzie pusta), więc musimy ją wykonać po pętli for
- W miejscu wyrażenia tworzymy zmienną i przypisujemy do niej pierwszy element tablicy. $element = array_shift($numbers)
- Teraz gdy mamy zmienną element, dodajemy ją do aktualnego wyniku. Gotowe!
Starałem się jak najłatwiejszym, dokładnym i zrozumiałym językiem :) Jeżeli czegoś nadal nie rozumiesz, wal śmiało.