Foreach

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

Pętla foreach służy do pobierania wszystkich elementów tablicy, bądź zmiennych z obiektu. Dostępne są dwa typy wywołania foreach. Pierwszy z nich pobiera tylko wartości:

<?php
$tablica = array(1, 2, 3, 4, 5);
foreach($tablica as $wartosc) {
    echo $wartosc . '<br />';
}
?>
Gdzie $wartosc to kolejne wartości tablicy. Efektem wykonania powyższego skryptu będzie:
1
2
3
4
5
Drugi pobiera także indeksy (klucze):
<?php
$tablica = array('raz' => 1, 'dwa' => 2, 'trzy' => 3);
foreach($tablica as $klucz => $wartosc) {
    echo $klucz . ' - ' . $wartosc . '<br />';
}
?>
Gdzie $klucz to kolejne indeksy aktualnego elementu, a $wartosc to kolejne wartości tablicy. Efektem wykonania powyższego skryptu będzie:
raz - 1
dwa - 2
trzy - 3

Od PHP 5.5 można w foreach używać funkcji list():
<?php
 
$tablica = [
[1, 3, 4, 8],
["a", "b", "k", "o"],
[35, 999, 101, 1000],
];
 
foreach($tablica as list($a, $b, $c, $d)) {
   echo "$a $b $c $d <br>";
}
 
?>
Efekt:
1 3 4 8 
a b k o 
35 999 101 1000

Przykład dla obiektu:
<?php
class foo {
	public $bar;
	public $bar2;
 
	function foo() {
		$this->bar = 1;
		$this->bar2 = 2;
	}
}
 
$tablica = new foo();
foreach($tablica as $klucz => $wartosc)
	echo '$' . $klucz . ' = "' . $wartosc . '" <br />';
?>
Wyświetli:
$bar = "1";
$bar2 = "2";