Start · Sprachen · PHP · Referenz · chop

chop

Funktion

Alias von <code>rtrim()</code> — entfernt Leerzeichen (oder angegebene Zeichen) am Ende eines Strings.

seit PHP 4.0.0 Kategorie: string

Signatur

chop(string $string, string $characters = " \n\r\t\v\0"): string

Beschreibung

chop() ist ein vollständiger Alias für die Funktion rtrim() und verhält sich in jeder Hinsicht identisch. Sie entfernt Whitespace-Zeichen oder explizit angegebene Zeichen vom rechten Ende (also dem Ende) eines Strings.

Standardmäßig werden die folgenden Zeichen entfernt: Leerzeichen (' '), Tabulatoren (\t), Zeilenumbrüche (\n), Wagenrückläufe (\r), vertikale Tabulatoren (\v) sowie das Null-Byte (\0). Über den zweiten Parameter können beliebige andere Zeichen angegeben werden.

Da chop() lediglich ein Alias ist, wird in neuem Code die direkte Verwendung von rtrim() empfohlen, um die Lesbarkeit und Konsistenz zu verbessern. chop() bleibt jedoch vollständig funktionsfähig und ist nicht als veraltet markiert.

Achtung: Der Name chop() ist irreführend, da er in anderen Programmiersprachen (z. B. Perl) das Entfernen des letzten Zeichens unabhängig vom Typ bezeichnet — in PHP entfernt er jedoch alle Whitespace- oder angegebenen Zeichen am Ende.

Parameter

Name Typ Default Beschreibung
$string Pflicht string Der Eingabe-String, von dessen rechtem Ende Zeichen entfernt werden sollen.
$characters string " \n\r\t\v\0" Optionale Liste der zu entfernenden Zeichen. Hier können auch Zeichenbereiche mit .. angegeben werden, z. B. 'a..z' entfernt alle Kleinbuchstaben am Ende.

Rückgabewert

Typ
string
Beschreibung
Gibt den gekürzten String zurück. Wurden keine entfernbaren Zeichen gefunden, wird der ursprüngliche String unverändert zurückgegeben.

Beispiele

Whitespace am Zeilenende entfernen

<?php
$zeile = "Hallo Welt!   \n";
$bereinigt = chop($zeile);
echo var_export($bereinigt, true);
'Hallo Welt!'

Bestimmte Zeichen am Ende entfernen

<?php
$pfad = "/var/www/html///";
$bereinigt = chop($pfad, '/');
echo $bereinigt;
/var/www/html

Vergleich mit rtrim — identisches Verhalten

<?php
$text = "PHP ist toll!!!";

$mitChop   = chop($text, '!');
$mitRtrim  = rtrim($text, '!');

var_dump($mitChop === $mitRtrim); // true
echo $mitChop;
bool(true) PHP ist toll

// Wichtig · Fallstricke

Namens-Falle: Entwickler, die aus Perl oder anderen Sprachen kommen, erwarten von chop() das Entfernen genau eines Zeichens. In PHP entfernt die Funktion jedoch alle übereinstimmenden Zeichen am Ende — identisch zu rtrim(). Verwende daher im Zweifelsfall lieber explizit rtrim(), um Missverständnisse im Team zu vermeiden.

Die Funktion ist nicht als deprecated markiert und wird auch in PHP 8.x weiterhin unterstützt. Dennoch gilt sie als historisches Relikt und wird in modernem Code selten verwendet.

Siehe auch