单引号字符串与双引号字符串都能使用。
有结构要求或内容超过一行可使用以下两种
nowdoc字符串:没有单引号的单引号字符串
$str=<<<'边界符'
字符串内容
边界符;
heredoc字符串:没有双引号的双引号字符串
$str=<<<边界符
字符串内容
边界符;
单引号字符串与双引号字符串的区别:
1、单引号字符串能识别\',双引号字符串不能识别\'。
2、双引号字符串能够识别\$,所以双引号字符串能够解析变量,而单引号字符串不能。
双引号字符串中变量识别的规则:
1、变量本身系统能够与后面的内容区分,保证变量的独立性。
$a='hello';
echo "ab $a cd";//正确使用
echo "ab$acd";//错误使用
2、使用变量专业标识符:给变量加上大括号
$a='hello';
echo "ab{$a}cd";
结构化定义变量的规则:
1、结构化定义字符串对应的边界符有条件
1.1、上边界符后面不能跟任何内容
1.2、下边界符必须顶格:写在最左边
1.3、下边界符后面只能跟分号,不能跟其他内容
2、结构化定义字符串的内部(边界符之间)所有内容都是字符串本身
获取字符串长度(中文在utf-8中占3个字节):strlen($str);
mbstring扩展:
mb_strlen("内容",'utf-8');//结果为2