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. 容器编排Kubernetes之kube-dns源码解读

    注:阅读DNS源码前,可以阅读DNS原理入门增加对DNS的认识. 架构图 这是我简单画的架构图,希望能帮助大家理解. 代码结构 k8s.io | dns | cmd // 三大组件的入口 | dnsm ...

  2. codeforces 814B.An express train to reveries 解题报告

    题目链接:http://codeforces.com/problemset/problem/814/B 题目意思:分别给定一个长度为 n 的不相同序列 a 和 b.这两个序列至少有 i 个位置(1 ≤ ...

  3. js的callee和caller方法

    转载:http://www.css88.com/archives/1706 http://www.jb51.net/article/25561.htm 这里我们可以知道: caller的使用方法: f ...

  4. 利用$http获取在服务器的json数据

    以下是存储在web服务器上的 JSON 文件: http://www.runoob.com/try/angularjs/data/Customers_JSON.php { "records& ...

  5. spring4x,暂时停更

    spring4x,暂时停更 鄙人愚笨,没有spring基础,直接上了spring4x,发现无法理解(另外spring4x实战课本演示不详,本人学识有限),现从spring3开始.

  6. RegularExpressions(正则表达式)

    最近在不少地方用到了正则表达式,一直对这一块不太熟悉,今天写一些关于正则表达式的知识,一来是总结自己学的知识,二来今后忘记了可以及时的复习. 在java中想应用正则表达式带来的好处,必须先了解两个类, ...

  7. 删除 mac 垃圾桶内清除不掉的文件

    命令行 内 $ sudo rm -rf ~/.Trash/

  8. python迭代器与生成器(二)

      一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中 ...

  9. docker建立和共享文件(服务器和docker之间的共享)

    建立序列号:sudo docker run -it domimiek/deep-base  /bin/bash   回撤后会出现一个序列号(记住) 开始:sudo docker start 序列号 当 ...

  10. 八大排序算法的java实现

    有时间再贴算法分析图 JDK7的Collections.sort()的算法是TimSort, 适应性的归并排序, 比较晦涩难懂, 这里没有实现 public class mySort { // 冒泡排 ...