澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

php字符串函数学习之substr,php去掉字符串的最后

今天项目中用到,去掉字符串中的最后一个字符
原字符串1,2,3,4,5,6,
去掉最后一个字符",",最终结果为1,2,3,4,5,6
代码如下:

但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的..拉过来一起做一个字,所以出现了PHP substr中文乱码。

<?php
/*
定义和用法
substr() 函数返回提取的子字符串, 或者在失败时返回 FALSE。

复制代码 代码如下:

substr --- 取得部份字符串

语法
substr(string,start,length)

$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;

语法 : string substr (string string, int start [, int length])
说明 :
substr( )传回 string的一部份字符串,由参数 start和 length指定。
如果 start是正数,传回的字符串将会从 string的第 start个字元开始。
Example :

参数 描述
string 必需。规定要返回其中一部分的字符串。
start 
必需。规定在字符串的何处开始。
非负数 - 从 string 的 start 位置开始,从 0 开始计算.
负数 - 从 string 结尾处向前数第 start 个字符开始。
如果 string 的长度小于或等于 start,将返回 FALSE。

解读: 采用php的substr()方法,
语法: string substr(string string, int start, int [length]);
参数1:原字符串;
参数2:切割的起始位置;
参数3:截取的长度;

 代码如下

length 
可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 处开始最多包括 length 个字符(取决于 string 的长度)。
负数 - 去除从string 结尾处向前length个字符
如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。
*/

按这样来使用:
$newstr = substr($str,0,strlen($str)-1);
从开头截取,一直截取到倒数第二位,这样就把最后的","去掉了。

<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>

$str = "abcdefghijklmn";

系统自带的函数也可实现这样的效果,两种方法:
1) substr($str, 0, -1)
2)rtrim($str, ",")

如果 start是负数,传回的字符串将会从 string结尾的第 start个字开始。
Example :

$rest = substr($str, 0);  // 返回 "abcdefghijklmn"
echo $rest . "<br/>";

substr
取部份字符串。
语法: string substr(string string, int start, int [length]);
返回值: 字符串
函数种类: 资料处理
内容说明
本函数将字符串 string 的第 start 位起的字符串取出 length 个字符。若 start 为负数,则从字符串尾端算起。若可省略的参数 length 存在,但为负数,则表示取到倒数第 length 个字符。
使用范例

 代码如下

$rest = substr($str, 1, 3);  // 返回 "bcd"
echo $rest . "<br/>";

复制代码 代码如下:

<?php
$rest = substr ("abcdef", -1); // returns "f"
$rest = substr ("abcdef", -2); // returns "ef"
$rest = substr ("abcdef", -3, 1); // returns "d"
?>

$rest = substr($str, -3);  // 返回 "lmn"
echo $rest . "<br/>";

<?
echo substr("abcdef", 1, 3); // 返回 "bcd"
echo substr("abcdef", -2); // 返回 "ef"
echo substr("abcdef", -3, 1); // 返回 "d"
echo substr("abcdef", 1, -1); // 返回 "bcde"
?>

如果有给予参数 length而且是正数时,传回的字符串将会从 start传回 length个字元。
如果有给予参数 length而且是负数时,传回的字符串将会结束于 string结尾的第 length个字元。
Example :

$rest = substr($str, -3, 2);  // 返回 "lm"
echo $rest . "<br/>";

本文由澳门皇冠金沙网站发布于编辑程序,转载请注明出处:php字符串函数学习之substr,php去掉字符串的最后