Array_Slice ist eine integrierte Array-Funktion in PHP, mit der ein Sub-Array aus einem Array extrahiert wird, ähnlich wie einige Elemente in einem Array abfangen. Die Funktionssignatur ist wie folgt:
array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
$ Array : Das zu abgefangene Array.
$ offset : Die Position zum Abfangen unterstützt negative Zahlen, um das Zählen ab dem Ende des Arrays anzuzeigen.
$ Länge : Die abgefangene Länge wird, wenn sie weggelassen wird, bis zum Ende des Arrays abgefangen.
$ PREISERVE_KEYS : Unabhängig davon, ob der Schlüsselname des ursprünglichen Arrays beibehalten wird, ist der Standard falsch , dh den Index zurückzusetzen.
Angenommen, es gibt eine Schnittstelle, die eine große Anzahl von JSON -Daten zurückgibt, und wir möchten nur einige der Daten für die Seiten- oder Chunking -Verarbeitung aufnehmen. Der Beispielcode lautet wie folgt:
<?php
$jsonData = file_get_contents('https://gitbox.net/api/data.json');
$arrayData = json_decode($jsonData, true);
if (json_last_error() !== JSON_ERROR_NONE) {
die('JSON Decodierung fehlgeschlagen: ' . json_last_error_msg());
}
// Angenommen, wir wollen das nehmen 11 Ankommen 20 Daten(Das heißt aus dem Index10Start,Wählen10Streifen)
$partialData = array_slice($arrayData, 10, 10);
// Ausgangsergebnis,Leicht zu sehen
echo '<pre>';
print_r($partialData);
echo '</pre>';
?>
Hier verwenden wir zuerst File_Get_Contents , um die JSON -String von https://gitbox.net/api/data.json zu erhalten, sie dann in ein Array zu entschlüsseln und dann Array_Slice zu verwenden, um die Daten in das angegebene Intervall abzufangen.
PAGING -Anzeige : Die Hintergrundschnittstelle gibt eine große Datenmenge zurück, und nur die Daten, die der aktuellen Seite entsprechen, werden über Array_Slice übertragen oder verarbeitet.
Ressourcen sparen : Vermeiden Sie gleichzeitig zu viele Daten und reduzieren Sie den Speicherverbrauch.
Lokale Verarbeitung : Wenn beispielsweise die Protokollanalyse und der Datenexport von Daten exportiert werden, werden nur teilweise Arrays verarbeitet.
Bei Verwendung von JSON_DECODE wird der zweite Parameter auf TRUE gesetzt, um sicherzustellen, dass das Array anstelle des Objekts erhalten wird, sodass es bequem ist, Array_Slice aufzurufen.
Wenn der Name des Arrayschlüssels wichtig ist, können Sie den vierten Parameter $ Preserve_keys auf true einstellen.
Überprüfen Sie unbedingt, ob JSON vor der Verarbeitung erfolgreich dekodiert wird, um Fehler zu vermeiden, die zum Programmunfall führen.
<?php
$jsonUrl = 'https://gitbox.net/api/data.json';
$jsonStr = file_get_contents($jsonUrl);
$dataArray = json_decode($jsonStr, true);
if (json_last_error() !== JSON_ERROR_NONE) {
echo "Decodierungsfehler: " . json_last_error_msg();
exit;
}
$page = 2;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;
$pageData = array_slice($dataArray, $offset, $pageSize, true);
echo '<h2>1. ' . $page . ' Seitendaten:</h2>';
echo '<pre>' . print_r($pageData, true) . '</pre>';
?>
Dieses Beispiel simuliert die Paging -Funktion und verarbeitet flexibel einen Teil der Daten des JSON -Arrays.