Bei der PHP -Programmierung müssen wir bei der Verarbeitung von Arrays häufig einen bestimmten Teil der Daten im Array extrahieren. Die manuelle Schleifenquelle ist nicht nur umständlich, sondern auch anfällig für Fehler. Glücklicherweise verfügt PHP über eine sehr praktische Funktion in - array_slice , die diese Funktion problemlos implementieren kann.
Die Funktion Array_Slice kann ein Unterarray einer bestimmten Länge aus einem Array extrahieren, ohne die Struktur des ursprünglichen Arrays zu ändern. Sein Funktionsprototyp ist wie folgt:
array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
$ Array : Das ursprüngliche Array zum Betrieb.
$ offset : Die Ausgangsposition des Extrakts (ab 0, negative Zahlen werden unterstützt und negative Zahlen werden vom Ende des Arrays berechnet).
$ Länge : Die Länge des Extrakts wird standardmäßig an das Ende des Arrays extrahiert.
$ PREERIVE_KEYS : Ob Sie den Schlüsselnamen des ursprünglichen Arrays behalten sollen, standardmäßig für false , dh neu index.
Angenommen, wir haben ein Array mit Zahlen:
$numbers = [10, 20, 30, 40, 50, 60];
$slice = array_slice($numbers, 1, 3);
print_r($slice);
Ausgangsergebnis:
Array
(
[0] => 20
[1] => 30
[2] => 40
)
Beachten Sie, dass der Index des ursprünglichen Arrays zwar bei 1 beginnt, der Index des Ausgabearrays bei 0 beginnt.
$slice = array_slice($numbers, -2, 2);
print_r($slice);
Ausgangsergebnis:
Array
(
[0] => 50
[1] => 60
)
$slice = array_slice($numbers, 2, 2, true);
print_r($slice);
Ausgangsergebnis:
Array
(
[2] => 30
[3] => 40
)
Zu diesem Zeitpunkt wird der Schlüsselname im ursprünglichen Array beibehalten.
Angenommen, Sie haben ein Array, das alle Datensätze in der Datenbank darstellt. Wenn Sie Paging implementieren möchten, anzeigen Sie 5 Daten pro Seite an, können Sie es so schreiben:
$allData = range(1, 100); // Simulation 1-100 Daten von
$page = 3; // Aktuelle Seitennummer
$perPage = 5; // Anzahl der Daten pro Seite
$offset = ($page - 1) * $perPage;
$pageData = array_slice($allData, $offset, $perPage);
print_r($pageData);
Ausgabe als Seite 3 Daten:
Array
(
[0] => 11
[1] => 12
[2] => 13
[3] => 14
[4] => 15
)
Wenn $ Offset die Array -Länge überschreitet, gibt Array_Slice ein leeres Array zurück.
Wenn $ Länge negativ ist, wird die entsprechende Anzahl von Elementen vom Ende des Arrays ausgeschlossen.
Beim Schneiden des assoziativen Arrays wird empfohlen, den Parameter $ Preserve_Keys zu aktivieren, ansonsten wird es erneut indexiert, was die nachfolgende Logik beeinflussen kann.
Array_Slice ist ein leistungsstarkes Werkzeug zum Umgang mit Array -Schneiden in PHP. Es ist einfach und effizient, insbesondere für gemeinsame Bedürfnisse wie Paging und Datenabfangen. Durch das Beherrschen der Parameter können Ihre Array -Verarbeitung flexibler und genauer werden.
// Beispielcode Demonstration array_slice Grundnutzung
$fruits = ['apple', 'banana', 'orange', 'pear', 'grape'];
// Ausgehend vom zweiten Element3Elemente
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);
// Kombiniert URL Beispiel,Angenommen, es soll ersetzt werden URL Der Domain -Name ist gitbox.net
$url = "https://example.com/path/to/resource";
$modifiedUrl = preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
echo $modifiedUrl; // Ausgabe https://gitbox.net/path/to/resource
Auf diese Weise ist das Ersetzen von Domainnamen auch im PHP -Code sehr einfach und praktisch, der URL -Verarbeitung beinhaltet.