substr的用法:

首先看PHP手册 ,手册上是这样说的

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

  执行substr返回的是一个字符串,然后它的第一个参数是要被截取的字符串,第二个参数是init型表示字符串开始的字符串,第三个参数是init型表示长度。

首先来看只有第一和第二个参数的情况

<?php 

$str='hello world';
echo substr($str, 2),'<br />';
//返回llo world,,当第二个参数为正,且没有第三个参数的时候
//表示从左边开始的位置开始起,截取到字符串结尾
echo $str,'<br />';
//返回hello world 说明substr不会改变原字符串
echo substr($str, -2),'<br />';
//返回ld,当第二个参数为负数,且没有第三个参数的时候,
//表示起始位置是从右边开始算的,然后截取到字符串结尾 ?>

  第二种情况是有三个参数的时候,看如下代码:

<?php 

$str='hello world';
echo substr($str, 2,2),'<br />';
//返回llo world,,当第二个参数为正,且有第三个参数的时候
//表示从左边开始的位置开始起,截取2个长度的字符串
//第三个参数是正的时候表示截取字符的长度
echo $str,'<br />';
//返回hello world 说明substr不会改变原字符串
echo substr($str, -2,-1),'<br />';
//返回ld,当第二个参数为负数,且有第三个参数的时候,
//表示起始位置是从右边开始算的,截取到第三个参数的位置
//第三个参数是负数的时候表示‘结束位置’,而且是从右侧开始的
//注意结束位置一定要在开始位置的右侧,不然是不会有返回值的 ?>

  

substr的学习(PHP学习)的更多相关文章

  1. IT人的自我导向型学习:学习的4个层次

    谈起软件开发一定会想到用什么技术.采用什么框架,然而在盛行的敏捷之下,人的问题逐渐凸显出来.不少企业请人来培训敏捷开发技术,却发现并不能真正运用起来,其中一个主要原因就是大家还没有很好的学习能力.没有 ...

  2. IT人的自我导向型学习:学习的3个维度

    看到大家对我的文章赞了不少,看来大家还比较喜欢看.园子里的一些朋友和我说:”终于又看到你要在园子里发原创文章了.几年前就受益匪浅,经过几年的成长分享来的东西肯定也是精品.“ 感谢大家对我的信任,如果你 ...

  3. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  5. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. Deep Learning(深度学习)学习笔记整理系列之(一)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0  2013-0 ...

随机推荐

  1. Search insert position, 查找插入位置

    问题描述:给定一个有序序列,如果找到target,返回下标,如果找不到,返回插入位置. 算法分析:依旧利用二分查找算法. public int searchInsert(int[] nums, int ...

  2. 新东方雅思词汇---6.3、brilli

    新东方雅思词汇---6.3.brilli 一.总结 一句话总结: 发光 brilliant 英 [ˈbrɪlɪənt]  美 ['brɪljənt]  adj. 灿烂的,闪耀的:杰出的:有才气的:精彩 ...

  3. java开发工具idea,在install时候报错The packaging for this project did not assign a file to the build artifact

    intellij中install报错:The packaging for this project did not assign a file to the build artifact 原因是run ...

  4. 【Python】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3

    问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 sys ...

  5. jvm最大线程数

    摘自:http://sesame.iteye.com/blog/622670 工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题.分析问题.解决问题. ...

  6. plsql连接不上oracle

    由于oracle存在64位的,但是目前plsql只有32位.导致登录后报错 -------------------------------------------------------------- ...

  7. 【scala】构造器

    和Java或C++一样,Scala可以有任意多的构造器. 不过Scala类有一个构造器比其他所有构造器都更为重要,它就是主构造器. 除了主构造器之外,类还可以有任意多的辅助构造器. 主构造器 在Sca ...

  8. 2017.11.2 Talk to customers for an hour

    yesterday::: Hi Huang, For the better performance of the test the Con 6 should be connected all the ...

  9. forEach和map的区别

    写法上没什么区别,只是返回值会不一样,map能够返回每一项,而forEach则返回undefined,以后要用哪个你知道了吧?map返回新的数组,可以进行后续更多的操作,例如: let arr = [ ...

  10. VBox自动启动websrv 并开机启动所有的虚拟机

    由于项目需要,在Ubuntu 16.04的Server版本中安装了一个virtualbox,并利用phpvirtualbox来管理虚拟机 需要在宿主机启动之后将所有的虚拟机也启动,因此用以下方式进行处 ...