W3docs

Der ultimative Leitfaden zur PHP-Funktion array_fill

Die Funktion array_fill in PHP ist ein leistungsstarkes Werkzeug zum Erstellen von Arrays. Lernen Sie Syntax, Anwendungsfälle und verwandte Funktionen kennen.

Die Funktion array_fill in PHP ist ein leistungsstarkes Werkzeug zum Erstellen von Arrays, die mit Werten Ihrer Wahl befüllt werden. In diesem Leitfaden tauchen wir tief ein in die Verwendung dieser Funktion und wie sie in realen Szenarien eingesetzt werden kann.

Was ist die Funktion array_fill in PHP?

Die Funktion array_fill ist eine eingebaute PHP-Funktion, die ein neues array zurückgibt, das mit einem bestimmten Wert gefüllt ist. Sie ist nützlich, wenn Sie ein array einer bekannten Größe benötigen, das mit demselben Standardwert vorbelegt ist – beispielsweise ein Raster aus Nullen, eine Liste von Platzhaltern oder einen Puffer, den Sie später überschreiben werden. Anstatt eine Schleife zu schreiben, beschreiben Sie das array in einem einzigen Aufruf.

Syntax

array_fill(int $start_index, int $count, mixed $value): array

Die Funktion nimmt drei Argumente entgegen:

  • $start_index — der Schlüssel des ersten Elements. Ist er 0 oder positiv, wird das array mit aufeinanderfolgenden ganzzahligen Schlüsseln ab diesem Wert befüllt. Ab PHP 8.0 werden bei einem negativen Startindex ebenfalls aufeinanderfolgende Schlüssel verwendet (-2, -1, 0, …); in PHP 7 begann der zweite und alle weiteren Schlüssel ab 0.
  • $count — die Anzahl der zu erstellenden Elemente. Muss 0 oder größer sein. Ein Wert von 0 gibt ein leeres array zurück, und ein negativer Zähler wirft einen ValueError (PHP 8) oder erzeugt eine Warnung (PHP 7).
  • $value — der Wert, der in jedes Element kopiert wird. Er kann von beliebigem Typ sein: ein string, eine Zahl, ein boolean, ein object oder sogar ein weiteres array.

Die Funktion gibt ein neues array zurück; sie verändert niemals ein bestehendes.

Wie verwendet man die Funktion array_fill in PHP?

Die Verwendung der Funktion array_fill ist unkompliziert. Geben Sie einfach den Startindex, die Anzahl der Elemente und den Wert an, mit dem das array gefüllt werden soll, und die Funktion gibt ein array mit den angegebenen Werten zurück.

Hier ist ein Beispiel, wie man die Funktion array_fill verwendet, um ein array mit 10 Elementen ab Index 0 zu erstellen, die alle mit dem Wert „PHP" befüllt sind:

PHP-Beispiel zur Verwendung der Funktion array_fill

php— editable, runs on the server

Das resultierende array sieht folgendermaßen aus:

Array (
  [0] => PHP
  [1] => PHP
  [2] => PHP
  [3] => PHP
  [4] => PHP
  [5] => PHP
  [6] => PHP
  [7] => PHP
  [8] => PHP
  [9] => PHP
)

Reale Anwendungen der Funktion array_fill in PHP

Die Funktion array_fill kann in verschiedenen realen Szenarien eingesetzt werden. Hier sind einige Beispiele:

Arrays initialisieren

Eine der häufigsten Verwendungen der Funktion array_fill ist die Initialisierung von Arrays mit Standardwerten. Zum Beispiel könnten Sie die Funktion nutzen, um ein array mit Standardwerten für ein Formularfeld zu erstellen.

Mehrdimensionale Arrays erstellen

Die Funktion array_fill kann auch zum Erstellen mehrdimensionaler Arrays verwendet werden. Zum Beispiel könnten Sie die Funktion verwenden, um ein 2D-array mit Nullen zu füllen:

PHP-Beispiel für mehrdimensionale Verwendung der Funktion array_fill

php— editable, runs on the server

Dies erstellt ein 10×10-array, das mit Nullen gefüllt ist.

Hinweis: array_fill speichert Referenzen auf dasselbe innere array für jede Zeile. Das Ändern einer Zeile verändert alle Zeilen. Um unabhängige Zeilen zu erstellen, verwenden Sie eine Schleife, um separate innere Arrays zu erzeugen.

Arrays mit einem einzelnen Wert befüllen

Die Funktion array_fill wiederholt einen einzelnen Wert über mehrere Indizes. Zum Beispiel könnten Sie sie verwenden, um ein array mit 10 Elementen ab Index 1 zu erstellen, die alle mit dem Wert 5 befüllt sind:

PHP-Beispiel: Ein array mit einem wiederholten Wert befüllen

php— editable, runs on the server

Dies erstellt ein array mit 10 Elementen ab Index 1, die alle mit dem Wert 5 gefüllt sind.

Hinweis: Um ein array mit inkrementellen Werten zu erzeugen (z. B. die Zahlen 1 bis 10), verwenden Sie stattdessen die eingebaute Funktion range(1, 10).

Verwandte Funktionen

array_fill ist eine von mehreren PHP-Funktionen zum Erstellen von Arrays ohne eine Schleife. Je nach Bedarf passt möglicherweise eine verwandte Funktion besser:

  • array_fill_keys() — füllt ein array mit einer von Ihnen bereitgestellten Liste von Schlüsseln anstelle aufeinanderfolgender Ganzzahlen.
  • range() — erstellt ein array mit inkrementellen Werten (z. B. 1, 2, 3, …), was array_fill nicht kann.
  • array_pad() — erweitert ein bestehendes array auf eine bestimmte Größe, indem es mit einem Wert aufgefüllt wird.
  • array_map() — transformiert ein befülltes array (zum Beispiel, um eine Zeile aus Nullen in berechnete Werte umzuwandeln).
  • str_repeat() — das String-Äquivalent, wenn Sie einen wiederholten Wert als Text statt als array-Elemente benötigen.

Fazit

Die Funktion array_fill bietet Ihnen eine präzise, schleifenfreie Möglichkeit, ein array einer bekannten Größe mit einem einzigen Wert vorzubelegen. Sie glänzt beim Initialisieren von Arrays mit Standardwerten, beim Erstellen von Nullen-Rastern oder beim Vorbereiten von Puffern, die Sie später überschreiben werden. Denken Sie an ihre Grenzen: Der Zähler darf nicht negativ sein, derselbe Wert wird in jedes Element kopiert, und für inkrementelle Sequenzen sollten Sie stattdessen range() verwenden. Mit diesen Regeln im Kopf ist array_fill ein sauberes Werkzeug für vorhersehbare array-Initialisierungen in PHP.

Übungen

Übung
Was macht die Funktion array_fill() in PHP?
Was macht die Funktion array_fill() in PHP?
Was this page helpful?