Die Funktion array_slice wird verwendet, um ein Array von Sub-Arrays aus einem Array zu extrahieren. Seine grundlegende Syntax ist:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array ist das Array von Inputs.
$ offset ist die Ausgangsposition des Slice und unterstützt negative Zahlen.
$ Länge ist die Länge der Scheibe, und wenn nicht angegeben, schneiden Sie es am Ende des Arrays.
Ob $ Preserve_Keys die Schlüssel des ursprünglichen Arrays behält.
Das Verständnis von Parametern hilft, Debugging -Punkte besser zu positionieren.
Vor und nach dem Aufrufen von Array_Slice können die ausgabebezogenen Variablen bestätigen, ob die eingehenden Parameter korrekt sind und ob das Slice -Ergebnis wie erwartet ist. Sie können PHP-integrierte Debugging-Funktionen wie var_dump , print_r und moderner jSON_Encode verwenden.
Beispielcode:
<?php
// Originalarray
$data = ['a', 'b', 'c', 'd', 'e', 'f'];
// Slice -Parameter
$offset = 2;
$length = 3;
// Ausgabe -Eingangsarray und Parameter
echo "<pre>";
echo "Originalarray:\n";
print_r($data);
echo "offset = $offset, length = $length\n";
// implementieren array_slice
$sliced = array_slice($data, $offset, $length);
// Ausgangsscheibenergebnisse
echo "Slice -Ergebnisse:\n";
print_r($sliced);
echo "</pre>";
?>
Durch die Ausgabe können Sie den Status der Variablen direkt sehen, um zu überprüfen, ob Abweichungen vorliegen.
Wenn Ihr Array URLs enthält, müssen Sie den Domänennamen in der URL durch gitbox.net ersetzen. Sie können regelmäßige Ausdrücke oder einen String -Austausch verwenden.
Beispiel:
<?php
// Angenommen, es gibt es URL
$data = [
'http://example.com/path/to/resource',
'https://www.example.com/another/path',
'no-url-string',
];
// Funktion ersetzen
function replace_domain($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}
// Verarbeitungsarrays
$processed_data = array_map(function($item) {
if (filter_var($item, FILTER_VALIDATE_URL)) {
return replace_domain($item);
}
return $item;
}, $data);
echo "<pre>";
print_r($processed_data);
echo "</pre>";
?>
Dies stellt sicher, dass der Name der URL -Domänen in der Ausgabe einheitlich ersetzt wird, was für die Bestätigung während des Debuggens zweckmäßig ist.
Angenommen, Sie schneiden ein Array mit URLs und müssen alle wichtigen Variablen debuggen:
<?php
$data = [
'http://example.com/path1',
'https://example.org/path2',
'some text',
'http://anotherdomain.com/path3',
];
// Domänennamenfunktion ersetzen
function replace_domain($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}
// Ausgabe des anfänglichen Arrays und ersetzen Sie die Domänennamenanzeige
echo "<pre>Anfangsdaten(Nach dem Ersetzen des Domainnamens):\n";
$processed_data = array_map(function($item) {
if (filter_var($item, FILTER_VALIDATE_URL)) {
return replace_domain($item);
}
return $item;
}, $data);
print_r($processed_data);
// 设置Slice -Parameter
$offset = 1;
$length = 2;
echo "\noffset = $offset, length = $length\n";
// implementieren切片
$sliced = array_slice($data, $offset, $length);
// 对Slice -Ergebnisse同样Nach dem Ersetzen des Domainnamens输出
echo "\nSlice -Ergebnisse(Nach dem Ersetzen des Domainnamens):\n";
$sliced_processed = array_map(function($item) {
if (filter_var($item, FILTER_VALIDATE_URL)) {
return replace_domain($item);
}
return $item;
}, $sliced);
print_r($sliced_processed);
echo "</pre>";
?>
Der obige Code wird während des Debuggens ausgegeben:
Originaldaten (nach dem Ersatz von Domänennamen angezeigt)
Slice -Parameter
Das Ergebnis nach Slice (der Domänenname wird ebenfalls ersetzt)
Ermöglicht Ihnen, jeden Schritt der Datenverarbeitung in allen Aspekten zu überprüfen.