30 dniowy kurs php – dzień 10 – for i foreach


Back-end (php, mysql)

Ciąg dalszy pętli. Tym razem przedstawię Ci pętlę for i foreach. Konstrukcje są bardzo proste i nie powinieneś mieć z nimi problemu.

For

Jak wygląda konstrukcja pętli for? Podobnie jak w pętli do/while potrzebujemy 3 elementów. Element inicjujący, zazwyczaj zmienna z wartością liczbową. Warunek, którego spełnienie zatrzymuje działanie pętli. Zwiększenie elementu inicjującego (w naszym przypadku zmiennej $i).

<?php

for($i = 1; $i <= 6; $i++)
{
	echo '$i wynosi ' . $i . '<br/>';
}

/* zwróci:

$i wynosi 1
$i wynosi 2
$i wynosi 3
$i wynosi 4
$i wynosi 5
$i wynosi 6

*/

?>

Sprawa prosta, jeśli zrozumiałeś poprzedni materiał dotyczący pętli do/while z pętlą for nie powinieneś mieć żadnych problemów.

Foreach

Bardzo przydatna pętla do wyciągania danych z tablic. Dla przypomnienia lekcja dotycząca tablic array. Pętla foreach nie ma warunków do spełnienia. Wykonuje się do momentu wyświetlenia wszystkich danych z wybranej tablicy. Do wykonania pętli foreach potrzebujemy zmiennej z tablicą oraz tymczasowej zmiennej, której użyjemy do wyświetlenia danych.

<?php

$owoce = array('banan','gruszka','arbuz');

foreach($owoce as $item)
{
	echo "$item <br/>";
}

/* wyświetli:

banan
gruszka
arbuz 

*/

echo $item;

?>

Proste prawda? Pamiętaj tylko, że zmienna $item wywołana poza pętlą foreach zwróci ostatni element tablicy, czyli w naszym wypadku wartość „arbuz”. A co jeśli chciałbyś do zmiennej $item przypisać wszystkie elementy z tablicy? Wtedy używamy operatora przypisania z powiązaniem .= (lekcja o operatorach).

<?php

$owoce = array('banan','gruszka','arbuz');

foreach($owoce as $item)
{
	echo "$item <br/>";
	@$tablica .= $item . ', ';
}

/* wyświetli:

banan
gruszka
arbuz 

*/

echo $tablica;

# wyświetli: banan, gruszka, arbuz,

?>

Przy okazji doszedł nam znak „małpy” @. Znak ten mówi parserowi PHP, aby nie wyświetlał błędów dla danego zapytania. W naszym przypadku bez @ wyświetli się błąd, zmienna $tablica jest nie zdefiniowana. Nie chcemy tego widzieć, więc pozbywamy się wyświetlania błędów umieszczając @ przed wywołującym błąd kodem.

Na dzisiaj to wszystko, jutro zajmiemy się formularzami.