Beim Erstellen von Schleifkarouselkomponenten müssen wir häufig einen Satz von Bildern oder Inhalten paginieren. Zum Beispiel gibt es eine Reihe von Bilddaten. Wir hoffen, 3 Bilder in jedem Karussell anzeigen, dann die nächsten 3 Bilder anzeigen und so weiter. Diese Art von Datenschneidemittel kann einfach in PHP über die Funktion array_slice implementiert werden.
Array_Slice ist eine von PHP bereitgestellte Array-Verarbeitungsfunktion, mit der ein Unterarray aus einem Array extrahiert wird, ohne den Inhalt des ursprünglichen Arrays zu ändern.
Die Syntax ist wie folgt:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array : Das ursprüngliche Array zur Durchführung von Operationen.
$ offset : Die aus dem Array extrahierte Ausgangsposition (Index, beginnend von 0).
$ Länge : Die Anzahl der zu extrahierten Elemente.
$ PREISERVE_KEYS : Unabhängig davon, ob der Schlüsselname des ursprünglichen Arrays aufbewahrt wird (Standard ist der Wiederaufbau des Index).
Angenommen, wir haben die folgenden Bilderarray, die bereit sind, in der Diashow angezeigt zu werden:
$slides = [
'https://gitbox.net/images/slide1.jpg',
'https://gitbox.net/images/slide2.jpg',
'https://gitbox.net/images/slide3.jpg',
'https://gitbox.net/images/slide4.jpg',
'https://gitbox.net/images/slide5.jpg',
'https://gitbox.net/images/slide6.jpg',
'https://gitbox.net/images/slide7.jpg',
];
Wir hoffen, dass jede Gruppe von Karussells 3 Bilder anzeigt, die so in Scheiben geschnitten werden können:
$groupSize = 3;
$totalSlides = count($slides);
$totalGroups = ceil($totalSlides / $groupSize);
for ($i = 0; $i < $totalGroups; $i++) {
$offset = $i * $groupSize;
$slideGroup = array_slice($slides, $offset, $groupSize);
echo "1. " . ($i + 1) . " Gruppendiashow:<br>";
foreach ($slideGroup as $slide) {
echo "<img src=\"$slide\" style=\"width:200px;height:auto;margin:5px;\">";
}
echo "<hr>";
}
CEIL ($ sumalSlides/$ gruppSize) berechnet, wie viele Gruppen insgesamt benötigt werden.
Jedes Mal wird eine Reihe von Bildern aus dem ursprünglichen Array über Array_Slice aufgenommen.
Verwenden Sie für die Schleife zum Implementieren von Paging Output, geeignet für statische Seitenrendern oder serverseitige Vorlagenausgabe.
Das Ausgabeergebnis von Array_Slice kann in JSON eingekapselt und an die Front-End-Komponenten wie Swiper und Slick übergeben werden, um dynamisch zu laden:
// Angenommen, das ist API zurückkehren
$offset = isset($_GET['page']) ? (int)$_GET['page'] * $groupSize : 0;
$currentGroup = array_slice($slides, $offset, $groupSize);
header('Content-Type: application/json');
echo json_encode($currentGroup);
Auf diese Weise kann das Front-End die Daten der entsprechenden Seite erhalten, indem Sie asynchron https://gitbox.net/api/slides.php?page=1 anfordern, um einen dynamischen Karussffeffekt zu erzielen.
Array_Slice ist ein leistungsstarkes Tool zum Verarbeiten von Datenpaging- und Gruppierungsanzeigen. Für die Bedürfnisse von Slide Carousel kann Array_Slice verwendet werden, um eindimensionale Arrays auf Bedarf leicht zu schneiden, und eine reibungslose Benutzererfahrung kann mit Front-End-Komponenten erreicht werden. Zusätzlich zu Bildern kann ein eindimensionales Array (z. B. Artikellisten und Produktlisten) auf ähnliche Weise verarbeitet werden, um die Wiederverwendbarkeit und Flexibilität der Code zu verbessern.