W3docs

str_repeat()

Die PHP-Funktion str_repeat() wiederholt eine Zeichenkette eine bestimmte Anzahl von Malen. Syntax, Parameter und Beispiele.

Die PHP-Funktion str_repeat() gibt eine neue Zeichenkette zurück, die durch die angegebene Wiederholung einer gegebenen Zeichenkette entsteht. Sie ist praktisch zum Erstellen von Wiederholungsmustern wie Trennlinien, Einrückungen, Fortschrittsbalken oder Auffüllzeichen, ohne dieselben Zeichen immer wieder eintippen zu müssen.

Dieses Kapitel behandelt die Syntax, die Parameter, den Rückgabewert und erwähnenswerte Grenzfälle – mit ausführbaren Beispielen.

Syntax

str_repeat(string $string, int $times): string

Parameter

Die Funktion erwartet zwei Pflichtparameter:

  • $string — die zu wiederholende Zeichenkette. Sie kann ein einzelnes Zeichen oder eine längere Zeichenkette sein.
  • $times — wie oft sie wiederholt werden soll. Dieser Wert muss 0 oder größer sein.

Rückgabewert

str_repeat() gibt die wiederholte Zeichenkette zurück. Wenn $times den Wert 0 hat, wird eine leere Zeichenkette ("") zurückgegeben. Die Übergabe einer negativen Zahl löst in PHP 8.0 und späteren Versionen einen ValueError aus (in früheren Versionen wurde eine Warnung ausgegeben und eine leere Zeichenkette zurückgegeben).

Einfaches Beispiel

php— editable, runs on the server

Hier wird die Zeichenkette "Hello" dreimal wiederholt, was HelloHelloHello ergibt. Beachten Sie, dass die Teile ohne Trennzeichen zusammengefügt werden — str_repeat() verkettet die Kopien einfach aneinander.

Die Ausgabe dieses Codes lautet:

HelloHelloHello

Praktische Anwendungen

Trennlinie zeichnen

Eine häufige Verwendung ist das Erzeugen eines Trennzeichens mit fester Breite, anstatt dasselbe Zeichen dutzende Male einzutippen:

<?php
echo str_repeat("=", 20) . "\n";
echo "  Report\n";
echo str_repeat("=", 20) . "\n";
?>

Ausgabe:

====================
  Report
====================

Einrückung und Auffüllung

Leerzeichen (oder eine beliebige Zeichenkette) wiederholen, um Text um eine Ebene einzurücken:

<?php
$level = 2;
$indent = str_repeat("    ", $level); // 4 spaces per level
echo $indent . "nested item\n";
?>

Ausgabe:

        nested item

Wenn Sie eine Zeichenkette auf eine bestimmte Gesamtlänge auffüllen möchten (anstatt eine feste Anzahl zu wiederholen), verwenden Sie stattdessen str_pad() — diese Funktion übernimmt die Breitenberechnung für Sie.

Grenzfälle

  • Null Wiederholungen geben eine leere Zeichenkette zurück:
<?php
var_dump(str_repeat("abc", 0)); // string(0) ""
?>
  • Wiederholung einer leeren Zeichenkette ergibt immer eine leere Zeichenkette, unabhängig von der Anzahl:
<?php
var_dump(str_repeat("", 5)); // string(0) ""
?>

Verwandte Funktionen

  • str_pad() — eine Zeichenkette auf eine Ziellänge auffüllen.
  • str_replace() — Vorkommen innerhalb einer Zeichenkette ersetzen.
  • strrev() — eine Zeichenkette umkehren.
  • strlen() — die Länge einer Zeichenkette ermitteln.
  • implode() — Array-Elemente mit einer Verbindungszeichenkette zusammenfügen.

Übung

Übung
Was ist die Funktion von 'str_repeat()' in PHP?
Was ist die Funktion von 'str_repeat()' in PHP?
Was this page helpful?