首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

笨方法学PHP:字符串

今天接着上一篇推文,跟大家详细讲一下PHP的字符串。

1. 定义大段字符串

之前跟大家讲过字符串的定义是用英文状态下的单引号与双引号,除此之外,PHP还提供了heredoc和nowdoc给你定义大段的字符串。

heredoc对应大段的双引号字符串,要求非常严格,开头前后都不可以由空格,中间也不能由注释,前后保持一致,大小写都可以,举例使用如下:

运行结果如下:

nowdoc则是对应大段的单引号字符串:

运行结果如下:

2. 单双引号的区别

单双引号字符串的区别主要体现在:转义,变量解析和速度。

转义字符是指在编程中,表示有特殊意义的字符,比如表示换行。常用转义字符有如下字符:

\n:换行

\r:回车

\t:水平制表符,一个缩进

\v:垂直制表符

$:代表$本身

\:代表反斜线本身

\’:单引号本身

\”:代表双引号本身

而转义,其实就是将字符转换成其代表的字符。在转义上,双引号相对于单引号转义较多,举例如下:

运行结果如下:

可以看出,单引号只能解析与‘,其他的都是原样输出。

再来看看双引号:

运行结果如下:

可以看出,双引号就可以转义所有的字符。

对变量的解析方面,双引号可以解析变量的值,单引号不解析。

运行结果如下:

需要注意的是,当我们用双引号包住字符串的时候,如果不是变量,不能出现$,后面不能跟合法的变量名,举例如下:

运行就会报错了,变量只输出$前面的字符:

而单引号则不会报错:

解析速度方面,因为单引号不必考虑过多的转义以及变量解析,所以速度上比双引号更快,所以正常情况下使用单引号会比较多。

3. 字符串常用函数

由于字符串在web开发中十分重要,经常需要使用到,因此作为字符串函数,必须熟练掌握。下面列举一些常用的字符串函数给大家。

第一种是计算字符串长度的函数,先讲一个,strlen,用于获取字符串长度 (计算的是字节数),语法如下:

int strlen ( string $string )

举例使用如下:

第二个是mb_strlen,也是用于获取字符串的长度 ,不过计算的是字符数。记住第二个参数是编码。

第二种是查找字符串位置的函数。首先是strpos,用于查找字符串首次出现的位置,计算机中,位置从0记数。举例使用如下:

需要注意的是。此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值,因为字符串位置是从0开始,而不是从1开始的。举例如下:

运行结果如下:

由于全等于,也就是三个等于号,所以才判断为存在。单纯的等于是会直接将0视为FALSE的。

第三种是替换字符串。第一个是str_replace — 子字符串替换,使用如下:

第二个是strtr — 转换指定字符。第二个参数为数组,键是待替换的,值是替换后的(键与值的知识之后数组会更大家再讲解,可以理解为物品代号与物品):

运行如下:

第四种是截取字符串函数,用的是substr — 返回字符串的子串,语法为:

substr('大字符串','从哪个位置开始截取',[截取几个])

有两种用法,第一种是正向截取,举例如下:

运行结果如下:

第二种是反向截取:

运行结果如下:

需要注意的是,如果第三个参数是负数,代表结束位置,从后往前数。

第五种是拆分字符串函数。使用的是explode — 使用一个字符串分割另一个字符串,返回一个数组。

第二个strpos 字符串位置,substr 截取字符串。

运行结果如下:

以上便是字符串的知识,大家私下自行熟悉,下篇推文跟大家讲一下另一个数据类型——数组。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190215G19AG500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券