Aktueller Standort: Startseite> Neueste Artikel> Ersetzen Sie Array_Fill_Keys durch Array_combine

Ersetzen Sie Array_Fill_Keys durch Array_combine

M66 2025-05-14

Es gibt viele nützliche Array -Funktionen in PHP, Array_combine und Array_Fill_Keys sind Funktionen, mit denen Arrays manipuliert werden. Obwohl ihre Funktionen ähnlich erscheinen, sind ihre Nutzungsszenarien und -nutzungen in der tatsächlichen Entwicklung unterschiedlich. In diesem Artikel wird untersucht, unter welchen Umständen Array_combine anstelle von Array_Fill_keys und ihren Unterschieden verwendet werden können.

1. Grundlegende Konzepte von Array_combine und Array_Fill_keys

Array_combine

Die Funktion der Funktion array_combine besteht darin, zwei Arrays in ein assoziatives Array zu kombinieren. Das erste Array wird als Schlüssel verwendet und das zweite Array wird als entsprechender Wert verwendet. Wenn die Anzahl der Elemente der beiden Arrays nicht gleich ist, gibt Array_combine false zurück.

Grammatik :

 array_combine(array $keys, array $values): array|false

Beispiel :

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);

Ausgabe:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

array_fill_keys

Die Funktion array_fill_keys wird verwendet, um den angegebenen Wert basierend auf dem angegebenen Array der Schlüsselnamen zu füllen. Es generiert ein neues Array, bei dem alle Schlüsselnamen den gleichen Werten entsprechen.

Grammatik :

 array_fill_keys(array $keys, mixed $value): array

Beispiel :

 $keys = ['a', 'b', 'c'];
$value = 100;
$result = array_fill_keys($keys, $value);
print_r($result);

Ausgabe:

 Array
(
    [a] => 100
    [b] => 100
    [c] => 100
)

2. Der Unterschied zwischen Array_combine und Array_Fill_keys

Obwohl Array_combine und Array_Fill_Keys verwendet werden, um assoziative Arrays zu erstellen, besteht der Hauptunterschied darin, wie die Schlüssel und Werte des Arrays behandelt werden:

  • Array_combine benötigt zwei Arrays, eine für Schlüssel und eine für Werte.

  • Array_Fill_Keys erfordert nur eine Reihe von Schlüssel und einen Wert, der jeden Schlüssel mit demselben Wert füllt.

3.. Unter welchen Umständen kann Array_combine anstelle von Array_Fill_keys verwendet werden?

Sie können in den folgenden Fällen Array_combine anstelle von Array_Fill_keys verwenden:

  • Wenn alle Elemente des Wertesarrays gleich sind : Wenn Sie jedem Schlüssel denselben Wert zuweisen möchten und Ihr Wert festgelegt ist, können Sie ein Array erstellen, in dem alle Elemente mit demselben Wert gefüllt sind. Verwenden Sie dann Array_combine , um dieses Wertearray mit dem Schlüsselarray zu kombinieren.

    Beispiel :

     $keys = ['a', 'b', 'c'];
    $value = 100;
    $values = array_fill(0, count($keys), $value); // Erstellen Sie ein Array der gleichen Werte
    $result = array_combine($keys, $values);
    print_r($result);
    

    Ausgabe:

     Array
    (
        [a] => 100
        [b] => 100
        [c] => 100
    )
    

    Im obigen Code verwenden wir zuerst Array_Fill , um ein Array mit einem Wert von 100 zu erstellen und dann über Array_Combine in ein assoziatives Array in ein assoziatives Array zusammenzufassen . Dies ermöglicht den gleichen Effekt wie Array_Fill_Keys .

  • Wenn das Wert -Array dynamisch ist : Wenn der Inhalt des Wertschriftens nicht unbedingt der gleiche feste Wert ist, ist die Verwendung von Array_combine flexibler. Sie können dynamisch unterschiedliche Wertearrays erzeugen und sie dann mit dem Tastenarray zusammenführen.

    Beispiel :

     $keys = ['a', 'b', 'c'];
    $values = [1, 2, 3];  // Dynamisch erzeugte Wertearray
    $result = array_combine($keys, $values);
    print_r($result);
    

    Ausgabe:

     Array
    (
        [a] => 1
        [b] => 2
        [c] => 3
    )
    

4. Zusammenfassung

  • Verwenden Sie Array_combine , um eine Reihe von Schlüssel mit einer Reihe von Werten zu kombinieren, die für dynamisch erzeugte Wertearrays sehr geeignet sind.

  • Array_Fill_Keys ist eine prägnantere und intuitivere Wahl, wenn der Wert festgelegt ist und Sie jedem Schlüssel denselben Wert zuweisen möchten.

  • Array_combine eignet sich für Szenarien, in denen verschiedene Werte einzeln den Schlüssel entsprechen müssen, während Array_Fill_keys für alle Schlüssel besser geeignet ist, um denselben Wert zu verwenden.

Durch die Auswahl der richtigen Funktion nach bestimmten Anforderungen kann Ihr Code prägnanter und effizienter werden.