字串結尾有多餘分隔符 (如 `1,2,3,`),需移除最後一個字元得到 `1,2,3`。
<?php
$str = '1,2,3,4,5,6,';
$new = substr($str, 0, -1); // 負數長度 = 從結尾往前
echo $new; // 1,2,3,4,5,6
// 等價寫法
$new = substr($str, 0, strlen($str) - 1);
$str = '1,2,3,4,5,6,';
$new = rtrim($str, ','); // 移除結尾所有 ',' (若有多個連續也會全移除)
echo $new; // 1,2,3,4,5,6
// 僅移除單一字元且確定只有一個時,substr 更精確
| 函式 | 行為 | 適用場景 |
|---|---|---|
| `substr($s, 0, -1)` | **無條件移除最後 1 個字元** (含多位元組字元需 `mb_substr`) | 固定長度截斷、不確定結尾字元 |
| `rtrim($s, ',')` | **移除結尾所有指定字元** (字元遞減集合) | 清理分隔符、空白、換行 |
$str = '測試字串,';
echo substr($str, 0, -1); // 亂碼 (按位元組截斷)
echo mb_substr($str, 0, -1); // 正確:測試字串
echo rtrim($str, ','); // 正確:移除中文逗號
$str = "data\r\n";
$clean = rtrim($str, "\r\n"); // 同時移除 \r 和 \n
原文摘自 〃Style ひぐ