Was ist der Unterschied und die Verbindung zwischen array_fill_keys und array_map?
Text:
In PHP sind Array_Fill_Keys und Array_MAP übliche Funktionen für den Betrieb von Arrays, aber ihre Funktionen und Verwendungen sind unterschiedlich. Heute werden wir die Unterschiede und Verbindungen zwischen diesen beiden Funktionen diskutieren.
Die Funktion array_fill_keys wird verwendet, um ein Array gemäß dem angegebenen Schlüssel zu füllen und einen Wert zu geben. Der Funktionsprototyp lautet wie folgt:
array_fill_keys(array $keys, mixed $value): array
Parameterbeschreibung:
$ keys : Ist ein Array mit Schlüssel. Array_Fill_Keys füllt ein neues Array basierend auf diesen Schlüssel.
$ Wert : Ist der Wert, der jedem Schlüssel zugewiesen werden muss.
Rückgabewert:
Gibt ein neues Array zurück, das den angegebenen Schlüssel und den angegebenen Wert enthält.
Beispielcode:
$keys = ['a', 'b', 'c'];
$value = 1;
$result = array_fill_keys($keys, $value);
print_r($result);
Ausgabe:
Array
(
[a] => 1
[b] => 1
[c] => 1
)
Wie oben gezeigt, erstellt Array_Fill_keys ein Array, das die angegebenen Schlüssel enthält, und der Wert jeder Taste beträgt 1 .
Die Funktion array_map wendet eine Rückruffunktion auf jedes Element des Arrays an und gibt ein neues Array zurück. Der Funktionsprototyp lautet wie folgt:
array_map(callable $callback, array $array, ...$arrays): array
Parameterbeschreibung:
$ callback : Ist eine Rückruffunktion, die jedes Element übernimmt.
$ array : Ist ein Array, das verarbeitet werden soll. Mehrere Arrays können übergeben werden, und die Rückruffunktion verarbeitet die entsprechenden Elemente jedes Arrays nacheinander.
Rückgabewert:
Gibt ein neues Array zurück, das jedes von der Rückruffunktion verarbeitete Element enthält.
Beispielcode:
$array = [1, 2, 3, 4];
$result = array_map(function($item) {
return $item * 2;
}, $array);
print_r($result);
Ausgabe:
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
)
Wie oben gezeigt, wendet Array_Map eine Rückruffunktion auf jedes Element im Array an, wobei der Wert mit 2 multipliziert wird.
Array_Fill_Keys soll ein Array basierend auf der angegebenen Taste erstellen und jedem Taste den gleichen Wert zuweisen. Es arbeitet nicht mit Elementen im Array, sondern füllt nur ein neues Array.
Array_Map arbeitet in jedem Element im Array, verwendet eine Rückruffunktion, um jedes Element zu ändern, und gibt das geänderte Array zurück.
Array_Fill_Keys eignet sich für den Zeitpunkt, an dem Sie bereits über eine Reihe von Schlüssel verfügen und einheitliche Werte für diese Schlüssel ausfüllen müssen.
Array_MAP wird häufig verwendet, um Daten in einem Array umzuwandeln, wenn Sie in einem Array eine Art Verarbeitung in jedem Element durchführen müssen.
In gewissem Maße kann Array_MAP verwendet werden, um jedes Element in einem Array zu betreiben, wodurch die Struktur des Arrays indirekt beeinflusst wird, ähnlich wie das Ändern des Inhalts des Arrays durch eine Rückruffunktion. Array_Fill_Keys konzentriert sich mehr darauf, wie angegebene Schlüssel und Werte zum Erstellen eines neuen Arrays verwendet werden. Beide beinhalten Elemente des Arrays bei der Verarbeitung von Arrays, ihre Verarbeitungsmethoden unterscheiden sich jedoch von Anwendungsszenarien.
Array_Fill_Keys wird verwendet, um ein Array gemäß dem angegebenen Schlüssel zu füllen und denselben Wert zuzuweisen.
Array_MAP wird verwendet, um eine Rückruffunktion auf jedes Element im Array anzuwenden und ein verarbeitetes Neuarray zurückzugeben.
Sie sind beide sehr nützlich, wenn sie mit Arrays arbeiten, aber ihre jeweiligen Fokus- und Nutzungsszenarien sind unterschiedlich. Durch die Auswahl der richtigen Funktion kann der Code prägnanter und effizienter werden.
Das obige ist eine detaillierte Erklärung der Unterschiede und Verbindungen zwischen Array_Fill_Keys und Array_Map -Funktionen. Ich hoffe, es wird Ihnen helfen, diese beiden Funktionen zu verstehen!