「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
substr() 可以「截取」字符串。
语法
string substr( $str, start, length);
参数
返回值
1)字符串的「索引」从0开始,「空格」也算一个字符。
实例1:从左边第6个字符开始,往右截取4个字符。
echo substr('0123456789',6,4).PHP_EOL;echo substr('01234 6789',6,4);
输出:
67896789
2) start 和 length 可以为负数,负数就是相反的意思。
实例2:从右边第6个字符开始,往右截取4个字符。
echo substr('9876543210',-6,4);
输出:
5432
实例3:从左边第6个字符开始,截取到右边第3个字符。
echo substr('0123456789321',6,-3);
输出:
67893
实例4:从右边第6个字符开始,截取到右边第4个字符。
echo substr('9876543210',-6,-4);
输出:
54
「英文」字符占1个字节,UTF8编码的「中文」占3个字节,GB2321编码的中文占2个字节。
截取中文时,一个(UTF8编码)中文要当做3个字符串来截取, start 和 length 的值得是「3的倍数」,否则会截取到乱码。
实例:
echo substr('零一二三四五六七八九',0,3).php_EOL;echo substr('零一二三四五六七八九',3,3).PHP_EOL;echo substr('零一二三四五六七八九',3,1);
输出:
零一�
1) length 可以省略,默认截取到字符串「末尾」。
实例:
echo substr('0123',1).PHP_EOL;echo substr('0123',-1);
输出:
1233
2) length 为 0,null,false 时,表示截取 0 个字符, substr() 会返回空字符串。
实例:
var_dump(substr('0123',1,0));var_dump(substr('0123',1,null));var_dump(substr('0123',1,false));
输出:
string(0) ""string(0) ""string(0) ""
1) start 超过字符串「长度」时,会返回false。
实例:
var_dump(substr('0123',11));
输出:
bool(false)
2) start 可以是数值型字符串,但内容必须是「纯数字」,否则会报错。
实例:
var_dump(substr('0123','0'));
输出:
string(4) "0123"
3) start 可以是「布尔类型」( true=1;false=0 )。
实例:
var_dump(substr('0123',true));var_dump(substr('0123',false));
输出:
string(3) "123"string(4) "0123"
4) start 包含运算符时,会先「运算」,再将运算结果「赋值」给 start 。
实例:
var_dump(substr('0123',1+1));var_dump(substr('0123',1*2));var_dump(substr('0123',~~2));var_dump(substr('0123',1&1));
输出:
string(2) "23"string(2) "23"string(2) "23"string(3) "123"
5) start 为十六进制时,会自动转换为0进制。
实例:11的十六进制是 0xB
var_dump(substr('0123456789abcde',0xB));
输出:
string(4) "bcde"
来源地址:https://blog.csdn.net/wangyuxiang946/article/details/131175875
--结束END--
本文标题: PHP substr()函数详解,PHP截取字符串。
本文链接: https://www.lsjlt.com/news/383955.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0