大 |
中 |
小
近日经常被substr的一些奇怪用法所打扰,于是静下心来仔细研究了一下,下面慢慢道来。
echo substr('abcdef', 1); // bcdef
echo "
";
echo substr('abcdef', 1, 3); // bcd
echo "
";
echo substr('abcdef', 0, 4); // abcd
echo "
";
echo substr('abcdef', 0, 8); // abcdef
echo "
";
echo substr('abcdef', -1, 6); // f echo "
";
?>
运行结果
bcdef
bcd
abcd
abcdef
f
http://www.benxiaohai.com/...
第一个int参数表示
无符号表示从左往右的偏移量
负号表示从右往左的偏移量
第二个int参数表示
输出偏移量所在字符从左往右几位
例如1:echo substr('abcdef', 0, 8); // abcdef
表示,偏移量为0,则指针位于a
输出8个字符,因为没有8个,则输出abcdef.
例如2:echo substr('abcdef', -1, 6);
表示,偏移量为-1,则指针位于f
输出6个字符,因为只有一个f,则输出f
例如3:echo substr('abcdef',-5,2);
表示,偏移量为-5,则指针位于b
输出2个字符,则为bc