admin 发表于 2024-5-25 17:59:31

PHP substr() 函数

substr()函数的作用是返回字符串中的一部分内容,举例说明:
<?php
echo substr("Hello world",6);
?>返回的是world;
语法格式是:substr(string,start,length);
length是可选的
如果start参数是负数并且length长度小于或者等于start,则length为0;
解释:
start值为正数(例如10),表示从字符串左侧第一个字符(序号0)开始的第10个字符,如果第三个参数同时存在且为正数(例如5),表示从左侧第10个数开始截取5个字符长度;
start值为负数(例如-5),表示从字符串结尾的第一个字符(序号1)开始的指定位置(第5个字符,从末尾最后一个字符开始)开始截取;
start值为0,表示从字符串开头开始获取;
length值为正数,表示从start参数所在位置返回的字符串长度;
length值为负数,表示从start参数所指定的位置到字符串末端缩进位置返回的长度;
举例说明,举一反三:
<?php
echo substr("Hello world",10)."<br>";//字符串从0开始,空格是1个字符2019.02.28新增注释
echo substr("Hello world",1)."<br>";
echo substr("Hello world",3)."<br>";
echo substr("Hello world",7)."<br>";

echo substr("Hello world",-1)."<br>";
echo substr("Hello world",-10)."<br>";
echo substr("Hello world",-8)."<br>";
echo substr("Hello world",-4)."<br>";
?>运行后分别返回:
d
ello world
lo world
orld
d
ello world
lo world
orld

以下代码为2018年11月21日补充更新:
<?php
echo "<b>一、start>=0的情况</b><br>";
echo "<font color='red'>1、start为0和length空时返回全部字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0);

echo "<br>";
echo "<font color='red'>2、start为0但length不为空(10)时,从左侧开始处返回10个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0,10);

echo "<br>";
echo "<font color='red'>3、start和length都为0时,不返回任何字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0,0);

echo "<br>";
echo "<font color='red'>4、当start大于0(3),lendth为空时,从start后面返回所有的字符,当strat=3时,实际返回的是从第3+1个字符开始。</font>";
echo "<br>";
echo substr("Hello world. It's My First Program!",3);

echo "<br>";
echo "<font color='red'>5、当start大于0(3),lendth不为空(10)时,从start后面返回10个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",3,10);
echo "<br>";
echo "<br>";


echo "<b>二、start<0的情况</b><br>";
echo "<font color='red'>1、当start为负数(-5),length为空时,返回以最右侧为开始的5个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",-5);

echo "<br>";
echo "<font color='red'>2、当start为负数(-10),length不为空(5)时,返回5个以最右侧为第10(含)个字符开始的5个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",-10,5);

echo "<br>";
echo "<font color='red'>3、当start为负数(-10),length不为空(-6)时,返回以最右侧开始的第10(含)个字符到以最右侧开始的6(不含)个字符之间的字符。</font>";
echo "<br>";
?>运行结果如下图:


完整代码:
<!DOCTYPE html>
<html>
<body>

<?php
echo "<b>一、start>=0的情况</b><br>";
echo "<font color='red'>1、start为0和length空时返回全部字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0);

echo "<br>";
echo "<font color='red'>2、start为0但length不为空(10)时,从左侧开始处返回10个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0,10);

echo "<br>";
echo "<font color='red'>3、start和length都为0时,不返回任何字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",0,0);

echo "<br>";
echo "<font color='red'>4、当start大于0(3),lendth为空时,从start后面返回所有的字符,当strat=3时,实际返回的是从第3+1个字符开始。</font>";
echo "<br>";
echo substr("Hello world. It's My First Program!",3);

echo "<br>";
echo "<font color='red'>5、当start大于0(3),lendth不为空(10)时,从start后面返回10个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",3,10);
echo "<br>";
echo "<br>";


echo "<b>二、start<0的情况</b><br>";
echo "<font color='red'>1、当start为负数(-5),length为空时,返回以最右侧为开始的5个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",-5);

echo "<br>";
echo "<font color='red'>2、当start为负数(-10),length不为空(5)时,返回5个以最右侧为第10(含)个字符开始的5个字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",-10,5);

echo "<br>";
echo "<font color='red'>3、当start为负数(-10),length不为空(-6)时,返回以最右侧开始的第10(含)个字符到以最右侧开始的6(不含)个字符之间的字符。</font>";
echo "<br>";
?>
</body>
</html>

以下为2019年2月28日补充内容:
<?php
echo "<b>一、start>=0的情况(2019年2月28日补充)</b><br>";

echo "<font color='red'>6、当start为0,lendth小于0时(-5),表示从左侧第一个字符开始截取,然后去掉尾部的5个字符的所有字符。</font>";
echo "<br>";
echo substr("Hello world. It's My First Program!",0,-5);

echo "<br>";
echo "<font color='red'>7、当start大于0(3),lendth小于0(-5)时,表示从左侧第4个字符开始截取,然后去掉尾部的5个字符的所有字符。</font>";
echo "<br>";
echo substr("Hello worldpress. It's My First Program!",3,-5);
echo "<br>";
echo "<br>";运行结果如下:

2019年2月28日新增两个情况。
页: [1]
查看完整版本: PHP substr() 函数