字符串分为单引号和双引号类型
$str1='hello';
$str2="hello2";

单引号和双引号的区别
1、 其中单引号中能够识别\’,而双引号中就不能识别\’(下图浏览器查看的是页面源代码)
2、 双引号中因为能够识别$符号,所以双引号中可以解析变量,而单引号不可以

双引号中变量识别的规则
1)变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分 例子: $str2="hello2 $a";
2)使用变量专业标识符(区分),给变量加上一组大括号{} 例子: $str2="hello2{$a}";

转义字符

PHP在识别转义字符的时候也是使用同样的模式:反斜杠+字母
在PHP中系统常用的转义符号:

\’:在单引号字符串中显示单引号
\”:在双引号字符串中显示双引号
\r:代表回车(理论上是回到当前行的首位置)
\n:代表新一行
\t:类似tab键,输出4个空格
\$:在PHP中使用$符号作为变量符号,因此需要特定识别

单引号和双引号适合于字符串为一行的情况下如果你的字符串较多的话我希望你还是用以下内容。

结构化定义字符串
nowdoc字符串:没有单引号的单引号字符串
$str = <<<’边界符’

字符串内容

边界符;
heredoc字符串:没有双引号的双引号字符串
$str = <<<边界符

字符串内容

边界符;

多行字符串

结构化定义字符串变量的规则
1、结构化定义字符串对应的边界符有条件:

   上边界符后面不能跟任何内容(包括空格);
   下边界符必须顶格:最左边;
   边界同样后面只能跟分号,不能跟任何内容;

2、结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身

获取字符串长度(字符串长度问题):

1.基本函数strlen():得到字符串的长度(字节为单位)

echo strlen($str_heredoc);

2.使用mb扩展带来很多函数

多字节字符串的长度问题:包含中文的长度。
让一个中文的长度为1而不是3

首先需要加载PHP的mbstring扩展:
请输入图片描述

Mbstrin 的是一些关于字符统计:
strlen只是针对标准交换码ASCII
mbstring会针对不同的字符集 (php7默认字符集为utf-8)