Signatur
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
Beispiele
Whitespace am Zeilenende entfernen
<?php
$zeile = "Hallo Welt! \n";
$bereinigt = chop($zeile);
echo var_export($bereinigt, true);
Bestimmte Zeichen am Ende entfernen
<?php
$pfad = "/var/www/html///";
$bereinigt = chop($pfad, '/');
echo $bereinigt;
Vergleich mit rtrim — identisches Verhalten
<?php
$text = "PHP ist toll!!!";
$mitChop = chop($text, '!');
$mitRtrim = rtrim($text, '!');
var_dump($mitChop === $mitRtrim); // true
echo $mitChop;
// 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.