首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 移除字串最後一個字元:substr、rtrim 兩種最佳做法

     編輯:PHP 相關知識

情境

字串結尾有多餘分隔符 (如 `1,2,3,`),需移除最後一個字元得到 `1,2,3`。

方法 1:`substr` (最通用)

<?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);

方法 2:`rtrim` (針對特定字元)


$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, ',')`**移除結尾所有指定字元** (字元遞減集合)清理分隔符、空白、換行

多位元組字元 (UTF-8 中文) 注意


$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 ひぐ

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved