Array_Slice ist eine Funktion, die von PHP verwendet wird, um Array -Fragmente zu extrahieren. Es kann einige Elemente aus dem Array abfangen und ein neues Array zurückgeben, ohne das ursprüngliche Array zu beeinflussen. Die grundlegende Syntax ist wie folgt:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array : Das Array zu bedienen.
$ offset : Wo beginnt mit Abschluss, 0 bedeutet vom ersten Element.
$ Länge (optional): die abgefangene Länge.
$ PREISERVE_KEYS (optional): Wenn Sie den Schlüsselnamen des ursprünglichen Arrays beibehalten, ist der Standard falsch .
In der Warteschlange soll Dequeueing das erste Element "herausnehmen" und es entfernen. Obwohl es in PHP eine array_Shift () -Funktion gibt, die diesen Vorgang direkt ausführen kann, konzentriert sich dieser Artikel darauf, wie man Array_Slice verwendet, um diesen Prozess zu implementieren.
Angenommen, wir haben ein Array, das die Warteschlange darstellt:
$queue = ['A', 'B', 'C', 'D'];
Es sind zwei Schritte erforderlich, um zu dequeue:
Entfernen Sie das erste Element 'a' .
Die verbleibenden Elemente bilden eine neue Warteschlange ['B', 'C', 'D'] .
<?php
// Originalwarteschlange
$queue = ['A', 'B', 'C', 'D'];
// Nehmen Sie das Kopfelement des Teams heraus
$dequeueElement = $queue[0];
// verwenden array_slice Generieren Sie eine neue Warteschlange,Überspringen Sie das erste Element
$queue = array_slice($queue, 1);
// Ausgangsergebnis
echo "Das Element der Abreise ist:" . $dequeueElement . "\n";
echo "Die neue Warteschlange ist:";
print_r($queue);
?>
Auslaufergebnisse:
Das Element der Abreise ist:A
Die neue Warteschlange ist:
Array
(
[0] => B
[1] => C
[2] => D
)
$ froe [0] greift direkt auf das erste Element als Dequeue -Element zu.
Array_Slice ($ Queue, 1) beginnt aus dem Index 1 abzufangen, erhält alle Elemente mit Ausnahme des ersten Elements und bildet eine neue Warteschlange.
Dies implementiert die Verwendung von Array_Slice , um das Dequeinging der Warteschlange zu simulieren.
Aus Gründen der Multiplexierung kann es in eine Funktion eingekapselt werden:
<?php
function queueDequeue(array &$queue) {
if (empty($queue)) {
return null; // Warteschlange ist leer,zurückkehren null
}
$element = $queue[0];
$queue = array_slice($queue, 1);
return $element;
}
// Beispiel
$queue = ['A', 'B', 'C', 'D'];
$first = queueDequeue($queue);
echo "Abfahrtselemente:" . $first . "\n";
print_r($queue);
?>
Array_Slice kann verwendet werden, um jedes Fragment eines Arrays abzufangen, das sehr geeignet ist, "verbleibende Elemente" vom Kopf eines Arrays abzufangen.
In Kombination mit direktem Zugriff auf das erste Element des Arrays implementiert die Warteschlangenfunktion.
Obwohl Array_Shift direkter ist, kann die Verwendung von Array_Slice Ihr Verständnis von Array -Operationen vertiefen und das Anpassen komplexerer Warteschlangenverhalten erleichtern.
Weitere von PHP bezogene Inhalte finden Sie unter https://gitbox.net/php-array-funktions für Details.