Dzisiaj7 lipca, 2020

Pętle

Pętle to konstrukcje programistyczne służące do wykonania określonego kodu określoną ilość razy. Poniższy diagram przedstawia rodzaje pętli:

Pętla for

To najbardziej znana konstrukcja pętli. Używamy ją w następujący sposób:

<?php

for(wyrażenie1; wyrażenie2; wyrażenie3) {
    // instrukcja
}

Wyrażenie1 – wykonuje się tylko raz na początku pętli

Wyrażenie2 – za każdym razem gdy wykonuje się pętla, wykonuje się te wyrażenie, jeśli zwraca wartość TRUE to pętla jest kontynuowana, w przeciwnym razie pętla zostaje przerwana.

Wyrażenie3 – na końcu każdej iteracji wykonuje się te wyrażenie

Przykład najprostszej pętli for wypisującej liczby od 1 do 10:

<?php

for($i = 1; $i<=10; $i++) echo $i;

Możemy też wypisywać liter alfabetu:

<?php

for($i = 'A'; $i<='E'; $i++) echo $i;

Instrukcję do wypisywania liczb tak naprawdę da się zapisać krócej:

<?php

for($i = 1; $i<=10; print($i++));

Możemy w miejscu wyrażenia 3 użyć funkcji print.

Uwaga! Użycie echo zamiast print nie zadziała w takim przypadku, ponieważ instrukcja musi coś zwracać – a echo nie zwraca nic.

Pętla while

Pętla ta wykonuje się dopóki wyrażenie podane w nawiasie jest prawdziwe. Budowa:

<?php

while(wyrażenie) {
// kod
}

Przykład z wypisywaniem liczb od 1 do 10:

<?php

$i = 1;
while($i<=10) {
    echo $i++;
}

Pętla do…while

Różnica między tą pętlą a poprzednimi jest taka, że pętla do…while wykona się przynajmniej jeden raz. W poprzednich pętlach najpierw sprawdzany jest warunek, jeśli jest on spełniony, wykonuje się kod zawarty w pętli. Tutaj najpierw wykonuje się kod a potem jest sprawdzany warunek.

Przykład:

<?php

$i = 1;
do {
echo $i++;
} while($i<=10);

Pętla foreach

Używamy jej do wykonywania operacji na tablicach. Przykład:

<?php

$arr = [
    'A',
    'B',
    'C'
];
foreach($arr as $value) echo $value;

W przypadku tablicy asocjacyjnej:

Powyższa wyświetli ABC.

<?php

$arr = [
    'A' => 1,
    'B' => 2,
    'C' => 3
];
foreach($arr as $key => $value) printf("%s => %d <br>", $key, $value);

Wynik:

Udostępnij artykuł
guest
0 komentarzy
Inline Feedbacks
View all comments