字符串类型
字符串定义语法
1 单引号字符串:使用单引号包裹
2 双引号字符串:使用双引号包裹
引号方式:比较适合定义那些比较短(不超过一行)或者没有结构要求的字符串,如果有结构要求,或者内容超过一行,可以使用以下两种
3 nowdoc字符串:没有单引号的单引号字符串
$str=<<< ’ 边界符 ‘
字符串内容
边界符
4 heredoc字符串:没有双引号的双引号字符串
$str=<<<边界符
字符串内容
边界符
heredoc和nowdoc比引号要区别多一点
字符串转义
转义的含义:在计算机通用协议中,有一些特定的方式定义的字母,系统会特定处理:通常这种方式都是使用反斜杠+字母(单词)的特性
例如:\r \n
PHP中常用的转义符号
\':在单引号字符串中显示单引号
\":在双引号字符串中显示双引号
\r:代表回车 理论上是回到当前行的首位置
\n:代表新一行
\t:类似tab键盘 四个空格
\$:在PHP中作为变量符号,因此需要特定识别
单引号和双引号的区别
1 其中单引号中能识别\',双引号就不能识别\"
2 双引号能识别$符号,所以双引号中可以解析变量,单引号不行
双引号中变量识别的规则
1 变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分
2 使用变量专业标志符(区分) 给变量加上一组大括号
结构化定义字符串变量的规则:
1 结构化定义字符串对应的边界符有条件
1.1 上边界符后面不能跟任何内容
1.2 下边界符必须定格,在行首
1.3 下边界符同样后面只能跟分号,不能跟任何内容
2 结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身
字符串长度
1 基本函数strlen():得到字符串的长度(字节为单位)
注意:中文在utf-8中占三个字节
2 多字节字符串的长度问题:包含中文的长度
3 多字节字符串扩展模块:mbstring扩展(mb:multi Bytes)
需要先加载PHP的mbstring扩展
使用mb扩展带来的很多函数,真对的是一些关于字符的统计:srtlen只是针对标准交换码ASCII,mbstring会针对不同的字符集
例如mb_strlen('$a1',utf-8); 中文字符算作一个字节
字符串相关函数
1 转换函数
implode(连接方式,数组):将数组中的元素按照某个规则连接成一个字符串
explode(分隔字符,目标字符串):将字符串按照某个格式进行分割,变成数组
str_split(字符串,字符长度):按照某种长度进行拆分字符串得到数组
2 截取函数
trim(字符串,[指定字符]):本身默认是用来去除两边的空格(中间不行)。但是也可以指定要去除的内容,是按照指定的内容循环去除两边有的内容,知道碰到一个不是目标字符为止
Ltrim():去除左边的
Rtrim():去除右边的
3 截取函数
substr(字符串,起始位置从0开始,[长度]):指定位置开始截取字符串,可以截取指定长度(不指定直到最后)
strstr(字符串,匹配字符):从指定位置开始直到最后,可以用来取文件后缀名
4 大小转换函数
strtolower:全部小写
strtouper:全部大写
ucfirst:首字母大写
5 查找函数
strpos():判断字符在目标字符串出现的位置(首次)
strrpos():判断字符在目标字符串中最后出现的位置
6 替换函数
str_replace(匹配目标,替换的内容,字符串):将目标字符串中部分字符串进行替换
7 格式化函数
printf/sprintf(输出字符串有占位符,顺序占位内容):格式化输出数据
8 其他
str_repeat():重复某个字符串N次
str_shuffle():随机打乱字符串