Bei der täglichen PHP -Programmierung müssen wir häufig einen Teil der Elemente aus einem Array extrahieren, um Subset -Daten anzuzeigen, zu pagieren oder zu verarbeiten. PHP bietet eine sehr praktische Funktion - Array_Slice () , die uns helfen kann, diese Aufgabe effizient zu erledigen.
Array_Slice () ist eine Funktion in PHP, mit der ein Sub-Array aus einem Array extrahiert wird. Es ändert das ursprüngliche Array nicht, sondern gibt das neue Array des abgefangenen Teils zurück. Die grundlegende Syntax ist wie folgt:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array : Originalarray.
$ offset : wo man mit dem Abfangen beginnt. Wenn es sich um eine negative Zahl handelt, beginnt es mit dem Hubkrocken am Ende des Arrays.
$ Länge (optional): Die Anzahl der zu abgefangenen Elemente. Wenn es weggelassen wird, wird es vom Offset bis zum Ende des Arrays abgefangen.
$ PREISERVE_KEYS (optional): Ob der ursprüngliche Schlüsselname beibehält, ist der Standard falsch .
$fruits = ['apple', 'banana', 'orange', 'grape', 'melon'];
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);
Ausgabe:
Array
(
[0] => banana
[1] => orange
[2] => grape
)
Ausgehend von Index 1, Intercept 3 Elements. Beachten Sie, dass die Schlüsselnamen neu angeordnet sind, da die Vorbehandlung standardmäßig auf False ausfällt.
$fruits = ['a' => 'apple', 'b' => 'banana', 'c' => 'orange', 'd' => 'grape'];
$sliced = array_slice($fruits, 1, 2, true);
print_r($sliced);
Ausgabe:
Array
(
[b] => banana
[c] => orange
)
Hier setzen wir Preserve_keys auf true , sodass die Schlüsselnamen im ursprünglichen Array erhalten bleiben.
$numbers = [10, 20, 30, 40, 50];
$sliced = array_slice($numbers, -3, 2);
print_r($sliced);
Ausgabe:
Array
(
[0] => 30
[1] => 40
)
Verwenden Sie einen negativen Versatz, um 2 vom dritten letzten Element am Ende des Arrays abzufangen.
Nehmen wir an, wir lesen ein Array mit mehreren Artikel -Titeln aus der Datenbank. Jetzt müssen wir Paging implementieren und 5 Daten pro Seite anzeigen:
$articles = [
'Artikel1', 'Artikel2', 'Artikel3', 'Artikel4', 'Artikel5',
'Artikel6', 'Artikel7', 'Artikel8', 'Artikel9', 'Artikel10',
'Artikel11', 'Artikel12'
];
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$pageSize = 5;
$offset = ($page - 1) * $pageSize;
$pagedArticles = array_slice($articles, $offset, $pageSize);
foreach ($pagedArticles as $article) {
echo "<p>$article</p>";
}
// Probe Paging Link
echo '<a href="https://gitbox.net/articles.php?page=1">Titelseite</a> ';
echo '<a href="https://gitbox.net/articles.php?page=2">1.2Seite</a> ';
echo '<a href="https://gitbox.net/articles.php?page=3">1.3Seite</a>';
Der obige Code zeigt, wie Sie Array_Slice () in Kombination mit $ _get -Parameter verwenden, um einfache Paging -Funktion zu implementieren und Paging -Links zu generieren. Beachten Sie, dass die URL hier den Domänennamen gitbox.net verwendet.
Array_Slice () ist ein unverzichtbares Werkzeug für den Umgang mit Array -Interception -Operationen. Es ist flexibel, effizient und einfach zu bedienen. Durch rationale Verwendung von Offset-, Länge- und Preserve_Keys -Parametern können wir schnell die erforderliche Teilmenge von Arrays basierend auf verschiedenen Szenarien erhalten. Unabhängig davon, ob in Datenpaging, Listenanzeige oder Datenfilterung, kann Array_Slice () seine Fähigkeiten zeigen.