我们在上一篇快速中过了一篇PHP的基础知识,但是很多重点知识朋友们可能抓不住侧重点,接下来几篇我会把重点以及开发中常用的点提炼出来。
PHP操作字符串
1. 什么是字符串?
字符串就是一串字符~
2. 如何声明一个字符串?
最简单的方式,$str = '我是字符串';
heredoc方式,这种方法用来声明一段比较长的字符串如HTML代码,我们来看一下它的格式:
$doc = <<<EOF
<html><head></head><body><p>Hello World</p></body></html>
EOF;
这种方式也称为定界符,需要以<<<大写字母开始,中间为字符串,最后加上开头的大写字母后面跟上分号。
3. 单引号与双引号的嵌套
我们可以使用$str = 'Hello world';声明一个变量,也可以使用$str1 = "Hello world";来输出一个变量,但是如果我们想在双引号中输出双引号或者在单引号中输出单引号呢?那么我们需要借助转义符/来实现。
如:$str = "Hello \"World\" ";后者也是如此。
4. 字符串拼接
如果一行里面写不完字符串或者为了方便阅读规范代码想临时换行该如何把字符串拼接在一起呢?
如: $str = "Hello ";
$str .="World";
那么此时echo 一下$str,你会看到字符串被拼接到一起。
如果字符串与函数拼接呢?
$str1 = 'Hello';
$str2 = 'World';
$str3 = $str1 . $str2;
现在$str3 = 'Hello World';
5. 计算字符串长度
strlen()
mb_strlen()
这两个函数有什么区别呢?
我们来看一个案例:
计算英文字符串长度
计算中文字符串长度
我们发现,使用strlen()计算英文和计算中文得到长度是不同的,这是为什么呢?
这是因为中文在utf-8编码规则中,一个英文占一个字节,一个中文占3个字节,什么是编码?这个解释起来就比较多了,记住一般PHP文件我们使用UTF-8编码就行。
那么我们使用mb_strlen()指定编码再来计算字符串长度:
使用mb_strlen()
我们得到上图结果。
6. 截取字符串
如果我们想从字符串的指定位置截取出来一部分呢?
我们可以使用substr(string,start,length)
示例:
第二个参数代表从开始截取的指定位置
第一个参数与第二个参数是必须的,第三个参数是可选的,代表截取长度,如果没有第三个参数默认是一直截取到最后。
substr()的第三个参数
7. 在字符串中匹配指定字符
strpos()
功能是在字符串内查找一个字符或一段指定的文本,如果找不到返回false,否则返回第一次匹配成功出现的位置。
strpos()匹配字符
在这里有个坑,你可能会发现为什么是5不是6?
字符串中第一个字符的位置是 0,而不是 1。
8. 字符串反转函数
strrev(string)
这个函数可以把字符串反转过来
字符串反转函数strrev()
9. 字符串分隔成数组
str_split(string)
str_split()把字符串分割成数组
10. 使用一个字符串分隔另一个字符串为数组
explode(string separator, string string [, int limit]);
其实这个函数支持三个参数,但是最后一个参数是可选的,我们现在不讲,来看看基本使用。
explode()函数使用字符串分隔另一个字符串
11. 大小写转换函数
在PHP大小写是不同的,是敏感的,那么大小写如何互换呢?
我们使用strtolower()可以转换字符串中的大写字母为小写,
使用strtoupper()可以转换小写字母为大写,
下面看一下示例:
strtolower()转换大写为小写
strtoupper()转换小写为大写
12. 处理字符串两侧的空白或者预定义字符
trim() 函数移除字符串两侧的空白字符或其他预定义字符。
与它类似的还有ltrim()与rtrim()。
ltrim()是移除字符串左侧的空白字符或其他预定义字符。
rtrim()是移除字符串右侧的空白字符或其他预定义字符。
案例:
trim()函数移除两侧空白或预定义字符
rtrim()函数移除右侧空白或预定义字符
字符串操作函数还有很多,但是相比较来讲,我列举的这些还是比较常用的,也是相对简单的,希望大家可以多多练习。
作者:头场雪
链接:https://www.jianshu.com/p/dd595f0255e3