Aktueller Standort: Startseite> Neueste Artikel> Erstellen Sie eine Teilmenge eines Arrays mit Array_Slice

Erstellen Sie eine Teilmenge eines Arrays mit Array_Slice

gitbox 2025-05-28

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.

Was ist Array_Slice?

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 .

Beispielerläuterung

Beispiel 1: Grundnutzung

 $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.

Beispiel 2: Halten Sie den ursprünglichen Schlüsselnamen

 $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.

Beispiel 3: negativer Offset

 $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.

Praktische Anwendung: Paginierungsverarbeitung

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.

Zusammenfassung

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.