• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - Pętla while i for

Object Storage Arubacloud
0 głosów
1,317 wizyt
pytanie zadane 10 lutego 2017 w PHP przez Kichu Nowicjusz (170 p.)
1. W pliku `zadanie5.php` stwórz zmienną `$resultFor` oraz `$resultWhile` i przypisz do nich liczbę `0`.
2. Następnie stwórz pętle, która doda do siebie liczby od 1 do 10 i zapisze do zmiennej `$resultFor` lub `$resultWhile`.
3. Pętla powinna co uruchomienie (zwaną także iteracją pętli) dodawać do zmiennej `$resultFor` lub `$resultWhile` kolejną liczbę z podanego zakresu.
4. Napisz zarówno pętle `for` jak i pętlę `while`.

Siemanko ,wie ktos jak rozwiazac tego typu zadanie?
3
komentarz 10 lutego 2017 przez Ivan Maniak (60,650 p.)
Przyjacielu, czego nie potrafisz zrobić, której części nie rozumiesz? Masz wszystko w zadaniu. Szczególnie słowa kluczowe, czyli: zmienna, iteracja, pętla for, pętla while.
komentarz 10 lutego 2017 przez Kichu Nowicjusz (170 p.)
Dokladnie mam problem z punktem trzecim. Mam stworzone zmienne ,przypisane wartosci 0 ,nastepnie przechodze do zrobienia petli while. I tu zaczyna sie problem ,bo nie bardzo wiem jak ta o to petla ma wygladac. Z tego zadania wywnioskowalem cos w stylu while ($resultWhile = 1+2+3+4+5+6+7+8+9+10) ,mozliwe ze zgupialem. I teraz nie wiem co dalej, ani co do czego przypisac ani nic. Jakos ciezko mi pojac te tresc :(

1 odpowiedź

+3 głosów
odpowiedź 10 lutego 2017 przez Ivan Maniak (60,650 p.)

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.

komentarz 10 lutego 2017 przez Evelek Nałogowiec (28,960 p.)

Rozdaje + za takie odpowiedzi. wink

komentarz 11 lutego 2017 przez Kichu Nowicjusz (170 p.)
Jestem Ci naprawde niezmiernie wdzieczny ,za tak jasne i wyczerpujace wyjasnienie :)

Podobne pytania

0 głosów
4 odpowiedzi 668 wizyt
+1 głos
2 odpowiedzi 659 wizyt
pytanie zadane 27 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 28 października 2018 w JavaScript przez warzywko13 Użytkownik (840 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...