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_walkarray_maparray_filterforeachlisteach, 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 listeach 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_walkarray_map oraz array_filter.
Powrót do góry