In PHP sind Arrays sehr wichtige Datenstrukturen, die häufig zum Speichern und Manipulieren mehrerer Werte verwendet werden. Um Arrays flexibel zu initialisieren, bietet PHP viele integrierte Funktionen, darunter Array_Fill () und Array_walk () sind zwei häufig verwendete Funktionen. Wenn diese beiden Funktionen kombiniert werden, ist es sehr bequem, dynamische Werte von Arrays zu initialisieren.
Die Funktion array_fill () wird verwendet, um ein Array zu füllen. Es akzeptiert drei Parameter:
array_fill(int $start_index, int $num, mixed $value): array
$ start_index : Die Position (Index), in der das Array füllt.
$ num : Die Anzahl der Füllungen, die die Anzahl der zu füllenden Elemente angibt.
$ Wert : Der Wert der Polsterung.
Array_Fill () erstellt ein neues Array und legt jedes Element des Arrays auf $ value fest.
Beispiel:
$array = array_fill(0, 5, 'apple');
print_r($array);
Ausgabe:
Array
(
[0] => apple
[1] => apple
[2] => apple
[3] => apple
[4] => apple
)
Die Funktion array_walk () iteriert über jedes Element des Arrays und verarbeitet jedes Element durch eine Rückruffunktion. Seine grundlegende Syntax ist:
array_walk(array &$array, callable $callback, mixed $userdata = null): bool
$ Array : Ausstehend Array.
$ Rückruf : Die Rückruffunktion, die jedes Element verarbeitet.
$ userData : Zusätzliche Daten, die an die Rückruffunktion übergeben werden können (optional).
Beispiel:
$array = ['apple', 'banana', 'cherry'];
array_walk($array, function (&$item, $key) {
$item = strtoupper($item); // Konvertieren Sie Array -Elemente in die Kapitalisierung
});
print_r($array);
Ausgabe:
Array
(
[0] => APPLE
[1] => BANANA
[2] => CHERRY
)
Durch die Verwendung von Array_Fill () und array_walk () können wir bei der Initialisierung des Arrays dynamische Werte zuweisen und dann verarbeiten. Beispielsweise können wir ein Array mit mehreren dynamischen Daten initialisieren und dann mit Array_walk () jedes Element ändern.
Angenommen, wir möchten ein Array mit 10 URLs initialisieren und jede URL über Array_WALK () ändern (z. B. den Domänennamen M66.net ersetzen):
<?php
// verwenden array_fill Initialisieren Sie eine Enthalts 10 indival URL Array von
$urls = array_fill(0, 10, 'http://example.com/page');
// verwenden array_walk 修改每indival URL Domain -Name
array_walk($urls, function (&$url) {
// Ersetzen Sie den Domainnamen als m66.net
$url = preg_replace('/http:\/\/.*?\//', 'http://m66.net/', $url);
});
// 输出修改后Array von
print_r($urls);
?>
Ausgabe:
Array
(
[0] => http://m66.net/page
[1] => http://m66.net/page
[2] => http://m66.net/page
[3] => http://m66.net/page
[4] => http://m66.net/page
[5] => http://m66.net/page
[6] => http://m66.net/page
[7] => http://m66.net/page
[8] => http://m66.net/page
[9] => http://m66.net/page
)
In diesem Beispiel initialisiert die Funktion array_fill () ein Array, das 10 identische URLs enthält. Als nächstes verwenden wir die Funktion array_walk (), um über das Array zu iterieren und den Domänennamen jeder URL an m66.net zu ändern.
Durch Kombinieren von Array_Fill () und Array_WALK () können Sie Arrays flexibel initialisieren und ändern. Array_Fill () hilft Ihnen, ein Array mit dem gleichen Wert zu erstellen, während Array_walk () die Möglichkeit bietet, Arrays zu durchqueren und komplexere Operationen auszuführen. Die Kombination dieser beiden eignet sich hervorragend zum Umgang mit dynamischer Array -Initialisierung, insbesondere wenn Sie dynamische Berechnungen oder Modifikationen in jedem Element im Array durchführen müssen.