PHP udostępnia kilka sposobów na przemieszczanie się po tablicach używając zarówno funkcji iteracji tablic jak i konstrukcji językowych: array_walk
array_map
array_filter
foreach
list
each
, oraz for
pętle. Demonstrujemy i opisujemy foreach
i inne konstrukcje pętli na tej stronie. Funkcje iteracyjne omówimy na innej stronie.
foreach
Pętla PHP foreach
zapewnia wygodny sposób iteracji po tablicach. Istnieją dwie formy: jedna używa zarówno klucza jak i wartości każdego wpisu do tablicy, podczas gdy druga używa tylko wartości. Najpierw zademonstrujemy formę key => value
:
Ciało pętli wykorzystuje echo
do wyświetlania po kolei klucza i wartości każdego elementu tablicy.
W tym przykładzie, foreach
używa tylko wartości elementów tablicy:
$pets = ;foreach ($pets as $val) { echo "$val \n";}/*Morie Miki Halo Winnie */
Konstrukcja foreach
może być użyta do modyfikacji wartości tablicy, którą przemierza, poprzez użycie znaku referencji (&
):
list/each
Inny popularny sposób na przemierzanie tablic wykorzystuje pętlę while
z konstrukcją językową list
i funkcją each
. Poniższy przykład osiąga taki sam rezultat jak pierwszy przykład foreach
pokazany powyżej:
Podczas iteracji po tablicy, funkcja each
jest używana do zwracania bieżącej pary klucz-wartość i posuwania wskaźnika tablicy do przodu. Funkcja list
służy do przypisania klucza i wartości do zmiennych. Pętla while
kończy się po osiągnięciu ostatniego elementu w tablicy. Funkcja reset
jest wywoływana w celu przywrócenia wskaźnika tablicy do pierwszego elementu w tablicy.
Konstrukcja list
each
może być użyta zarówno z kluczem jak i wartością, lub tylko z wartością. Poniższy przykład daje taki sam rezultat jak drugi przykład foreach
pokazany powyżej:
$pets = ;reset($pets);while ( list(, $val) = each($pets) ) { echo "$val \n";}/*Morie Miki Halo Winnie*/
for
Pętla for
może być użyta do iteracji po tablicach indeksowanych numerycznie, jak zademonstrujemy tutaj:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { echo "$ar \n";}/*Rudi Morie Halo Miki */
W powyższym przykładzie użyto echo
do wyświetlania bieżącej wartości w każdej iteracji pętli. Możesz również użyć pętli for
do modyfikacji wartości, jak pokazuje poniższy przykład:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { $ar *= 2;}print_r($ar);/* Array( => 2 => 4 => 6 => 8) */
Funkcje iteracyjne tablic PHP
Dowiedz się więcej o przemierzaniu tablic w PHP za pomocą funkcji iteracyjnych: array_walk
array_map
oraz array_filter
.
Powrót do góry