Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

Jak w PHP mogę podzielić tablicę na pół?

odsłon: 1.14K
0
Komentarzy: 0

Mam tablicę, która zawiera linki do zdjęć i opisy obrazków. Chciałbym wyświetlić je w dwóch kolumnach, stąd do szablonu HTML chciałbym przekazać 2 zmienne i wykonać na nich polecenie @foreach (korzystam z Laravela i jego szablonów blade.php).

Także, przygotowując opakowane dane do przekazania dla szablonu, muszę mieć dwie zmienne, każda zawierająca połowę zdjęć.

Mogę to zrobić klasycznie, pętlą for i iterować połowę, wpisując do jednej tablicy, później kolejna pętla for z iteracją od połowy danych do końca tablicy.

Nie wiem, czy w PHP dałoby się to zrobić po prostu szybciej i prościej?

odpowiedział na pytanie
Dodaj komentarz
0

Generalnie w PHP są trzy natywne funkcje operujące na tablicach, które mogą wykonać Twoje zadanie: array_slice, array_splice i array_chunk.

Najszybszym i najlepszym wyborem wydaje się być array_chunk – szczególnie liczba elementów w tablicy jest parzysta. Wtedy masz sprawę prostą, w przeciwnym wypadku wchodzi kwestia zaokrąglania liczby elementów do wydzielenia.

Generalnie, array_chunk dzieli tablicę na części (mniejsze osobne tablice), zawierające dokładnie tyle elementów, ile podasz w argumencie.

Mając przykład:

<?php
$tablica = array('a', 'b', 'c', 'd', 'e', 'f');
$arrays = array_chunk($tablica, 3);

W zmiennej $arrays dostaniesz dwie tablice trzyelementowe. Teraz trójkę musisz zastąpić wyliczoną liczbą, która będzie połową elementów tablicy wejściowej. Np. ceil(count($tablica) / 2) co zaokrągli wyliczoną połowę w górę.

Jeśli zaokrąglisz w dół, może się okazać, że otrzymasz 3 tablice wynikowe, z których ostatnia będzie miała tylko jeden element.

Zmienił status na: opublikowane
Dodaj komentarz
Wpisz swoją odpowiedź.
Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.