字符串函数在PHP中特别是一些门户网站是使用频率非常高的!

小雨笔记今天准备记录的是:strlen()取字符长度,mb_strlen()取字符个数,strpos()查找字符,str_replace替换字符,strtr()逐个替换字符,substr()截取字符,explode()拆分字符,implode()组合字符,strrchr()按最后一个条件输出后面的字符。好啦今天我就复习一下这几个字符处理函数!

strlen,mb_strlen

$str = "xiaoyu";//首先定义一个字符串内容为小雨;

echo strlen($str);//值是6;

$str = "你好";//重新定义为中文;

echo mb_strlen($str,"utf-8");//使用mb_strlen函数要注明字符串是什么类型的字符;

strpos查找字符

$str = "abcdefg";

echo strpos($str,"a");//值为0.因为PHP从0开始计数;

if(strpos($str,"a")===false){//用全等于是为了防止位数为0时出现错误!

echo "没找到";

}else{

echo "找到了";

}

str_replace批量替换文本

$str = "fuck you";

echo str_replace("fuck","f**k",$str);

//输出结果就是f**k you;

?>

strtr()逐个替换

$str = "男人,女人,男孩,女孩";

echo strtr($str,array("男"=>"女","女"=>"男"));//上面的str_replace就不能达到我们这个效果

substr拆分字符:这个写的完整一点:substr(string,start,length)

$str = "abcdefg";//依旧是老规矩定义个字符串;

echo substr($str,0);//abcdefg

echo substr($str,3);//defg大家是不是看出什么规律了?

echo substr($str,3,3);//def

echo substr($str,3,-3);//d

echo substr($str,3,-2);//de

echo substr($str,-3,-2);//e

//综上所述,其实他算的不是字母的位数,而是字母与字母之间的空隙来进行截取!

explode()拆分文本数组形式输出,implode()组合数组形式字符

//explode(separator,string,limit)

//separator 必需。规定在哪里分割字符串。

//string 必需。要分割的字符串。

//limit 可选。规定所返回的数组元素的数目。

//可能的值:

//大于 0 - 返回包含最多 limit 个元素的数组

//小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组

//0 - 返回包含一个元素的数组

$str = "one,two,three";

print_r(explode(",",$str));

//implode(separator,array)

//separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。

//array 必选。要组合的数组

$arr = array("title"=>"toady is good day","content"=>"good day","date"=>"2019年1月21日 19:15:39");

echo implode("/",$arr);//

那么学习了一下字符串函数我们来试试看如何提取一个文件的文件后缀吧!

文件名为a.jpg

$str = "a.jpg";

echo substr($str,strpos($str,"."));//这样子能输出.jpg那么如果我不要点呢?

echo substr($str,strpos($str,".")+1)//我们直接再加一个1就再往前取一格!

$str = "213.a.jpg"//那么假设文件名有多个点呢?

//用到函数strrchr(string,char)

//作用:函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

echo strrchr($str,".");

最后再讲讲:ltrim() 函数移除字符串左侧的空白字符或其他预定义字符。当然还有rtrim移除右端,trim移除两侧;

$str = "213.a.jpg";

echo strrchr($str,".");//我们这样输出是.jpg但是这样子有一个点;如果我要去掉左侧原点

echo ltrim(strrchr($str,"."),".");//这样子即可移除

这样子就OK啦~

这是小雨的PHP日记!说起来就是写给自己看的!一个云端笔记本!

版权声明:若无特殊注明,本文为《周小雨》原创,转载请保留文章出处。

本文链接:https://zxyy.me/post-111.html

正文到此结束

php 1天,自学PHP之第1天-字符串函数 - 晓雨网相关推荐

  1. 自学JavaScript第二天- JS 进阶: 对象 函数

    自学JavaScript第二天- JS 进阶: 对象 函数 对象进阶 构造函数 使用类 类的继承 静态方法 函数进阶 方法 装饰器 高阶函数 map / reduce filter sort ever ...

  2. qstring截取一段字符串_笔记 | 自学Python 05:数据类型之字符串

    3.2 String (字符串) 字符串,就是一个个字符组成的有序的序列,是字符的集合,在python中通常使用单引号.双引号和三引号引住的字符序列,由数字.字母.下划线组成.从以下6个方面来了解: ...

  3. c语言字符串截取_笔记 | 自学Python 05:数据类型之字符串

    字符串,就是一个个字符组成的有序的序列,是字符的集合,在python中通常使用单引号.双引号和三引号引住的字符序列,由数字.字母.下划线组成. 从以下6个方面来了解: ①字符串是不可变的 上一期我们介 ...

  4. LRC软件测试自学,自学selenium笔记一 - kael的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    学习的内容如下,通过默认路径,指定路径打开IE,火狐,打开URL,得到当前网页的title和URL,关闭浏览器 打开火狐浏览器: package selrctest; import org.openq ...

  5. Python自学笔记-列表生成式(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 列表生成式 列 ...

  6. 自学PHP教程之每天学一个函数(一):isset()

    词义理解 is+set :解释成中文就是,is==是否:set==设置.连起来读就是:是否设置? 那么这货返回的一定是一个布尔型.(false或者true) 函数概念: 我翻了翻各种资料,大家对这个函 ...

  7. 自学python系列10:python的函数和函数式编程

    1.1什么是函数 函数是对程序逻辑进行结构化或过程化的编程方法.这样能节省空间,有助于保持一致性. 函数的创建,使用,引用方法: def foo():print 'bar' foo foo() 1.1 ...

  8. python 惰性序列_菜鸟学飞自学Python(五)高阶函数

    (仅个人学习摘抄) 函数式编程 函数式编程就是一种抽象程度很高的编程范式,特点是允许把函数本身作为参数传入到另一个函数,还允许返回一个函数. 高阶函数 高阶函数--Higher-order funct ...

  9. python全局变量的声明和使用_python自学篇(第三章:函数)

    函数 在前面章节中,介绍了一些input(),print(),len()等内建函数,还有random,math等标准库相关函数,这些都是可以直接使用的,但是很多时候,我们也是可以编写自己的函数. 看个 ...

最新文章

  1. Science公布2020十大科学突破,AI预测蛋白结构等上榜 | AI日报
  2. 【转载】rpc.rstatd安装与配置
  3. python 科学计算基础教程电子版-自学Python 编程基础、科学计算及数据分析
  4. 信用模型评分卡入门介绍
  5. 判别式和产生式的区别
  6. C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
  7. snoopy(强大的PHP采集类) 实例应用 1
  8. 如何去掉 WinCE 4.2 的桌面墙纸
  9. ubuntu 14.04 下搭建SVN服务器 svn://
  10. 借助Intent实现Android工程中Activity之间Java对象的传递——实现Serializable接口
  11. vscode css智能补全_让你编码嗨到停不下来的8个VSCode插件
  12. 删除360UDiskGuardXX.dll
  13. Mac中在Matlab中安装Mosek
  14. 用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定
  15. 手机开热点但是电脑一直连接不上_电脑无法连接手机开的热点怎么解决
  16. parted扩展磁盘分区(实践篇)
  17. 会java需要多久能学会python_java好学吗?零基础学java要多久?
  18. 蜡烛图plotly_Python数据可视化:如何用mplfinance创建蜡烛图
  19. unity用虚拟相机截图
  20. SSH + Lucene + 分页 + 排序 + 高亮 模拟简略新闻网站搜索引擎

热门文章

  1. 内功重修之数据结构----数组
  2. JAVA与.NET的相互调用——通过Web服务实现相互调用
  3. Asp.Net中替代Eval的两种方式
  4. java基础-Eclipse开发工具介绍
  5. 用 Go 开发 Go 编译器
  6. 基于.NET平台常用的框架整理(转)
  7. 无根树转有根树的一般方法
  8. 【Linux基础】 diff命令的参数详解和实例
  9. ISA Server出现12250错误的解决方法
  10. 运行Google CTemplate首页的例子遇到_CrtIsValidHeapPointer异常