您的位置:首页 > 其它

substr — 详解

2016-07-23 11:34 411 查看
substr — 返回字符串的子串

举例说明:

string [b]substr ( string $string , int $start , int $length )[/b]

返回字符串 string 由 start 和 length (长度)参数指定的子字符串。

参数

string
输入字符串。

start
如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

如果 string 的长度小于或等于 start,将返回 FALSE

Example #1 使用负数 start

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


length
如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于string 的长度)。

如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

如果提供了值为 0,FALSENULL 的 length,那么将返回一个空字符串。

如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

Example #2 使用负数 length

<?php
$rest = substr("abcdef", 0, -1);  // 返回 "abcde"
$rest = substr("abcdef", 2, -1);  // 返回 "cde"
$rest = substr("abcdef", 4, -4);  // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"
?>


返回值

返回提取的子字符串, 或者在失败时返回 FALSE

范例

Example #3 [b]substr() 基本用法[/b]

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f


// 访问字符串中的单个字符
// 也可以使用中括号


$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f
?>


错误/异常

错误时返回 FALSE
<?php
var_dump(substr('a', 1)); // bool(false)
?>


参见

strrchr() - 查找指定字符在字符串中的最后一次出现

substr_replace() - 替换字符串的子串

preg_match() - 执行一个正则表达式匹配

trim() - 去除字符串首尾处的空白字符(或者其他字符)

mb_substr() - Get part of string

wordwrap() - 打断字符串为指定数量的字串

字符串访问和修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: