一、概要

我们知道,字符串操作是主流web编程语言的基础,也是在日常开发中不可或缺的一项。PHP处理字符串的能力非常强大,方法也是多种多样。文章列举了一些PHP中常见的字符串处理方法。

二、常用字符串处理方法

1、判断一个字符串的长度:int strlen ( string $string )
判断一个中文字符串长度:mb_strlen()
判断一个字符串由多少个单词组成(通常以空格划分单词):str_word_count()
注:mb_strlen并使用前需要确保在php.ini中加载了php_mbstring模块

2、字符串截取和查找

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

:从字符串中获取其中的一部分

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

:查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符

subchr():同strstr()

stristr():同strstr(),但不区分大小写

string strrchr ( string $haystack , mixed $needle )——查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
strpos():查找字符串中子串的位置,返回的位置从下标0开始
strrpos():逆向查找字符串中子串的位置。

3、字符串转化
trim():去除空格;
ltrim():只从开始处去除空格;
rtrim():只从结尾处去除空格;
nlzbr():以HTML格式进行转化(自动换行);
sprintf():返回一个格式化了的字符串;
strtoupper():将字符串转化为大写;
strtolower():将字符串转化为小写;
substr_count(‘原字符串’,’待测片段’):测试字符串出现频率(类似正则表达式);
strrev():逆置字符串。

4、字符串替换

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

:该函数以其他字符替换字符串中的一些字符(区分大小写),返回字符串或数组

5、字符串比较

int strcmp ( string $str1 , string $str2 )

:如果str1小于str2,返回<0;如果str1大于str2,返回>0;如果两者相等,返回0。

strcasecmp():同strcmp(),但不区分大小写。
‘==’号:判断两个字符串变量数值是否相等(类型不同时会进行自动转化)。
‘===’号:判断两个字符串变量的类型和数值是否相等。

int strnatcmp ( string $str1 , string $str2 )

:使用“自然顺序”算法比较字符串,返回值格式同strcmp()。

strnatcasecmp():同strnatcmp()但不区分大小写。

注:'=='号比较时要注意类型转换是否会导致结果不同于预期比较结果,如0和空字符串比较是会将空字符串转为0产生相等结果的。

6、字符串转数组
explode(‘标志’,$字符串):将字符串以标志划分为若干块组成的数组;
implode(‘标志’,$字符串):将若干块组成的数组以标志合并为字符串;

三、其他

1、判断一个字符串是否在另一个字符串中有两个函数:strstr()和strpos(),strstr()与strpos()有一点不同是,该函数的返回值是false或者字符串的一部分。如果单纯的判断两个字符串的包含关系,最好使用strpos,因为速度更快、耗费内存更少。

2、关于==号判断字符串大小的一些说明

【PHP基础知识】——常用字符串处理函数总结相关推荐

  1. c语言回收字符串空间,C语言基础知识(字符串,函数,内存空间)

    C 语言重点 arc4random() //产生一个随机数arc4random()A 随即数对41取余 得到0-40的数余数是正数 arc4random() % 11 + 20// 20 -30的数公 ...

  2. java 数组 字符串 编程_Java语言基础知识之字符串数组

    Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...

  3. C语言基础知识:字符串赋值

    C语言基础知识:字符串操作 链接: link. 字符串赋值的三种可行形式: 1.初始化时赋值字符串 char a[10]="hello"; char *a = "hell ...

  4. C++:C++语言入门级基础知识考察点回顾之函数、结构体和类

    C++:C++语言入门级基础知识考察点回顾之函数.结构体和类 目录 C++的函数 1.函数的定义.调用,全局变量局部变量 1.1.自定义函数求其倒数

  5. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)

    参考:string.h中常用字符串操作函数说明(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等) 作者:一只青木呀 ...

  7. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

  8. python常用字符串处理函数_Python第10课:常用的字符串处理函数

    Python第10课:常用的字符串处理函数 时间 2019-01-17上午10:00 主讲 刘培富 地点 四楼电教室 1.字符的ascii码及其逆运算 ord("x") 求asci ...

  9. revit找不到附加模块程序集_TensorFlow基础知识——常用模块(一)

    1 本节简述 对于开展深度学习开发的目标而言,我们需要掌握的除了必要的深度学习理论基础.必要的开发依赖库基础知识.基本的开发套路之外,我们还需要掌握它常见的外围小帮手都有哪些.这些小帮手就是深度学习依 ...

最新文章

  1. 蓝桥杯-安慰奶牛(java)
  2. java上课作业(第三次)
  3. 一个好用的浏览器暗色浏览插件 Dark Reader
  4. linux 运行java jar_linux运行jar包、查看jar包进程、停止jar包
  5. [渝粤教育] 中国地质大学 高层建筑施工 复习题
  6. 微服务流控防护场景与应对措施
  7. 我的worktools集合们
  8. 模板设计模式_设计模式实用又简单的模板模式
  9. MYSQL 学习笔记记录整理之二:分组数据
  10. Javascrīpt开发工具大集合
  11. 数据恢复软件FinalData
  12. Spring Boot 自定義 HttpMessageConverter 解決 String 類型返回JSON對象問題
  13. 服务器raw格式硬盘,硬盘分区格式变为RAW
  14. 预测模型介绍及预测与决策的联系
  15. win10忘记密码,重装系统
  16. Android仿微信朋友圈图片上传选择器布局
  17. 大数据技术之Flume —— (1)一文入门学习Flume
  18. windows xp 自动登录
  19. 关于Unity程序化生成地图的研究(Wave Function Collapse)
  20. 小红帽 oracle,linux 小红帽 一键安装ffmpeg

热门文章

  1. IDEA查看源码时,CRTL+点击,方法或者变量不能提示出来,以便进入
  2. photoshop 人物修容的大体步骤
  3. html 实现excel表格分页打印,excel分页-用了这么多年Excel才知道,按下这个键,一张纸便可打印全部内容...
  4. Android开发经验
  5. 两台手机通过4g网络直接通讯_手机直播只准备了一部手机?难怪直播效果不好!...
  6. 2022年(上半年)信息系统项目管理师考试-综合知识真题及解析(三)
  7. k8s生命周期---容器探测
  8. 语义分割论文-DeepLab系列
  9. 速学大学计算机基本内容(一)有图
  10. 小红书什么内容容易火?