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