Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung des Verwirrungsproblems zwischen array_fill () und array_fill_keys ()

Detaillierte Erläuterung des Verwirrungsproblems zwischen array_fill () und array_fill_keys ()

M66 2025-06-06

Bei der PHP -Programmierung begegnen wir häufig Array -Betriebsfunktionen. Array_Fill () und Array_Fill_Keys () sind zwei sehr häufige Funktionen, die zum Füllen von Arrays verwendet werden. Viele Anfängerentwickler verwirren diese beiden Funktionen jedoch oft. Sie haben ähnliche Funktionen, aber wesentliche Unterschiede. Heute werden wir die Unterschiede zwischen diesen beiden Funktionen untersuchen und analysieren, wie sie in der tatsächlichen Entwicklung korrekt verwendet werden.

1. Einführung in die Funktionen von Array_Fill () und Array_Fill_Keys ()

  1. Array_Fill ()

    Array_Fill () wird verwendet, um ein Array bestimmter Bereiche zu füllen, und alle Elemente haben den gleichen Wert. Die grundlegende Verwendung ist wie folgt:

     array_fill(int $start_index, int $num, mixed $value): array
    
    • $ start_index : Füllt den Startindex des Arrays.

    • $ num : Die Anzahl der zu füllenden Elemente.

    • $ Wert : Der Wert jedes Elements im Array.

    Zum Beispiel können wir ein Array von Länge 5 erstellen, wobei der Wert jedes Elements von 100 :

     $array = array_fill(0, 5, 100);
    print_r($array);
    

    Ausgabe:

     Array
    (
        [0] => 100
        [1] => 100
        [2] => 100
        [3] => 100
        [4] => 100
    )
    
  2. Array_Fill_keys ()

    Array_Fill_Keys () soll ein Array basierend auf der angegebenen Taste füllen, die für jeden angegebenen Schlüssel denselben Wert festlegt. Die grundlegende Verwendung ist wie folgt:

     array_fill_keys(array $keys, mixed $value): array
    
    • $ KEYS : Ein Array mit Schlüssel.

    • $ Wert : Der Wert, der dem angegebenen Schlüssel entspricht.

    Angenommen, wir haben eine Reihe von Schlüsselnamen und einen Wert zum Füllen:

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

    Ausgabe:

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

2. Warum sind Array_Fill () und Array_Fill_keys () verwirrend?

Da diese beiden Funktionen sehr ähnlich aussehen, neigen viele Anfänger dazu, sie zu verwirren. Der gemeinsame Punkt, den sie alle haben, können sie verwendet werden, um Arrays zu füllen, und beide können einen einheitlichen Wert festlegen. Die Differenz besteht darin, dass Array_Fill () Elemente basierend auf dem Index des Arrays füllt, während Array_Fill_Keys () Werte basierend auf dem angegebenen Schlüsselnamen füllt.

3. ihre Unterschiede

  • Array_Fill () füllt das Array gemäß dem Indexbereich des Arrays. Es erfordert einen Startindex und die Anzahl der Elemente, die gefüllt werden sollen, wodurch ein Array mit kontinuierlichen Indexen zurückgegeben wird.

  • Array_Fill_Keys () füllt das Neue Array basierend auf einem bestimmten Schlüsselarray. Jeder Schlüssel entspricht dem gleichen Wert, und der Schlüsselname des zurückgegebenen Arrays wird angepasst.

Der grundlegendste Unterschied besteht daher darin, dass einer nach Index füllen und der andere mit dem Schlüssebamen füllen.

4. Wie kann man Array_Fill () und Array_Fill_Keys () richtig verwenden?

Verwenden Sie diese beiden Funktionen nach unterschiedlichen Bedürfnissen:

  • Wenn Sie ein Array mit kontinuierlichen Indizes füllen müssen, verwenden Sie Array_Fill () . Sie können beispielsweise ein Array verwenden, wenn Sie einen Index initialisieren, um eine bestimmte Anzahl von Elementen zu füllen.

    Beispiel:

     $array = array_fill(0, 3, 'PHP');
    
  • Wenn Sie ein Array basierend auf einem benutzerdefinierten Schlüsselnamen füllen müssen, verwenden Sie Array_Fill_Keys () . Diese Situation wird häufig zur Initialisierung assoziativer Arrays verwendet.

    Beispiel:

     $keys = ['name', 'age', 'gender'];
    $array = array_fill_keys($keys, 'unknown');
    

5. Zusammenfassung

Obwohl die Funktionen von Array_Fill () und Array_Fill_Keys () Array -Füllung beinhalten, sind ihre Verwendungsszenarien und Füllmethoden unterschiedlich. Wenn Sie den Unterschied zwischen ihnen verstehen, können Sie die entsprechenden Funktionen flexibel auswählen, um das Array entsprechend Ihren spezifischen Anforderungen zu bedienen.

Durch die Verwendung dieser beiden Funktionen können Sie die Effizienz des Schreibens von PHP -Code erheblich verbessern und Verwirrung in der tatsächlichen Entwicklung vermeiden.