字符串
一、含义;字符串,就是一串字符,
二、声明;$str="字符串"或者$str='字符串',即用单引号或者双引号包裹起来,
三、转义符;在某些时候,我们需要输出一些符号,但是在代码里,有些符号有特定的作用,会发生冲突,转义符的作用就是消除这些有特殊意义的符号的作用
1、形式;\;取消斜杠后字符的特殊含义,使其变为一个普通的符号,如,echo “飞哥”我爱你“”;这个时候我想要在输出的时候,把我爱你两边的字符串也显示出来,但是直接这么写,会报错,so,echo “飞哥\”我爱你\“”;这样就好了
2、默认用法;系统默认的固定组合,有很多,可以在手册里查
(1)\n;换行符
(2)\r;回车符
(3)\$;转义成单纯的$符号
(2)\t;对应键盘上的Tab
四、单引号和双引号;
1、区别
(1)、转义上的区别;单引号,系统不做复杂的转义,只转义\',\\,其他的会原样输出。
双引号,则转义的比较多,\",\\,\r,\n,\t,\$等
(2)、对变量解析的区别;单引号,不对以字符串作为变量名的变量解析,也就是说,在一个字符串里,如果包含$str,他不会把$str作为一个变量解析,而是把他当做一个字符串直接输出$str
双引号,在一个字符串里看到了$str这种形式的东西,他会把他当做一个变量处理
即;在单引号中,如果有$这个符号,他不会做其他的动作,但是在双引号中,发现$后,他会默认这是一个变量,然后去自动获取这个变量的值,获取不到就报错, 也就是说,
单引号代表的是一个单纯的字符串,相当于孩子,你说什么就是什么,而双引号,就是一个中年人,想的比较多,他会想你这句话里的某个词是不是有别的意思?是不是在影射什么?
2、运行速度
单引号的速度快,双引号的速度慢
因为单引号不需要考虑其他的因素,双引号需要检查里面的数据是否有其他的含义
3、使用场景选择
(1)、双引号。在需要夹杂变量的时候,如SQL语句里,省事,可以调用其他的变量数据
(2)、单引号。大段的文本(如;一篇文章),不需要解析$变量,速度快
五、界定字符串;
1、heredoc。<<<.
形式; 变量名=<<<标识符
数据
标识符;
作用和双引号相同,形式不一样
1.$age=29;
2.$str=<<<title
3.fghfdg
4.fgjfdgjfdgj
5.gfjdjghj
6.$age
7.title;
8.echo $str;
上面的代码执行后会发现,3到6的数据都会输出,
六、特性;
类数组,可以把一个字符串当做一个简单的一维数组,它里面的每个字符都可以根据索引找出来
如;$str='abcd';
echo $str[0];// 会输出a