php去除字符串的最后一个字符

阅读793评论0

在PHP开发中经常用到拼接,比如:多选框数据的拼接,三级城市地址的数据拼接等等。

在拼接的时候往往都是在拼接好的字符串最后多一个符合,造成获取数据处理(转数组)的时候会多一个空元素,对于要求数据精简的程序猿,这是一个梗。

PHP去除字符串最后一个符号可以用这几种方法:

1、substr   substr($str, 0, -1)  或者 substr($str,0,strlen($str)-1);

2、rtrim     rtrim($str, ",") ;

方法一:substr()

substr() 函数返回字符串的一部分。就是截取字符串的部分值

语法

substr(string,start,length)
参数 描述
string 必需。规定要返回其中一部分的字符串。
start

必需。规定在字符串的何处开始。

  • 正数 - 在字符串的指定位置开始(从左到右

  • 负数 - 在从字符串结尾开始的指定位置开始(从右到左

  • 0 - 在字符串中的第一个字符处开始(从左到右

length

可选。规定被返回字符串的长度。默认是直到字符串的结尾。

  • 正数 - 从 start 参数所在的位置返回的长度

  • 负数 - 从字符串末端返回的长度

PS如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。 

PPS:字符串从左到右是0,1,2,3,4...        从右到左是-1,-2,-3,-4....

<?php
echo substr("abcdefg", 0, -1); echo "<bR>";// 返回 "abcdef" 
echo substr("abcdefg", 0, 3); echo "<bR>";// 返回 "abc" 
echo substr("abcdefg", 1, 3); echo "<bR>";// 返回 "bcd"
echo substr("abcdefg", 3, -2); echo "<bR>";// 返回 "de"
echo substr("abcdefg", 2); echo "<bR>";// 返回 "cdefg" 
echo substr("abcdefg", -2); echo "<bR>";// 返回 "fg" 
echo substr("abcdefg", -3, 2); echo "<bR>";// 返回 "ef" 
echo substr("abcdefg", -3, -2); echo "<bR>";// 返回 "e" 
?>

方法二:rtrim()

rtrim() 移除字符串右侧的空白字符或其他预定义字符。

相关函数:

  • ltrim() - 移除字符串左侧的空白字符或其他预定义字符

  • trim() - 移除字符串两侧的空白字符或其他预定义字符


语法

rtrim(string,charlist)
参数 描述
string 必需。规定要检查的字符串。
charlist

可选。规定从字符串中删除哪些字符。如果省略,则移除下列所有字符:

  • "" - NULL

  • " " - 制表符

  • " " - 换行

  • "x0B" - 垂直制表符

  • " " - 回车

  • " " - 空格

<?php
$str = "Hello WebStr!:+,;,";

echo "不使用 rtrim:" . $str;
//return  Hello WebStr!:+,;,

echo "使用 rtrim去除右侧",":" . rtrim($str,",");
//return  Hello WebStr!:+,;

echo "使用 rtrim去除右侧",;,":" . rtrim($str,",;,");
//return  Hello WebStr!:+
?>

替换字符串中所有指定字符,移步这里看str_replace函数

0 位网友评论:

欢迎来评论

暂不支持评论