1. 字符串定义语法
1)单引号字符串:使用单引号包裹
2)双引号字符串:使用双引号包裹
<?php
// 引号定义:比较适合定义较短的或无结构要求的字符串
$str1 = 'hello';
$str2 = "hello";
var_dump($str1,$str2); // 两种方式显示的结果一致
3)nowdoc字符串:没有单引号的单引号字符串
$str = <<<'边界符'
字符串内容
边界符;
4)heredoc字符串:没有双引号的双引号字符串
$str = <<<边界符
字符串内容
边界符;
<?php
// heredoc结构
$str3 = <<<EOD
hello
world
EOD;
// nowdoc结构
$str4 = <<<'EOD'
hello
world
EOD;
//输出string(30) " hello world" string(30) " hello world"
2. 字符串转义
1)转义的含义:在计算机通用协议中,有一些特定的方式定义的字母
PHP在识别转义字符时使用的模式:反斜杠+字母
2)在PHP中系统常用的转义符号:
\' | 在单引号字符串中显示单引号 |
\" | 在双引号字符串中显示双引号 |
\r | 代表回车(理论上是回到当前行的首位置) |
\n | 代表新一行 |
\t | 类似tab键,输出4个空格 |
\$ | 在PHP中使用$符号作为变量符号,因此需要特定识别 |
3)单引号和双引号的区别:
1、 单引号中能够识别\',而双引号中就不能识别\'(下图浏览器查看的是页面源代码)
2、 双引号中因为能够识别$符号,所以双引号中可以解析变量,而单引号不可以(如下图)
4)双引号中变量识别的规则
1)变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分
2)使用变量专业标识符(区分),给变量加上一组大括号{}
5)结构化定义字符串变量的规则:
1、 结构化定义字符串对应的边界符有条件:
- 上边界符后面不能跟任何内容(包括空格);
- 下边界符必须顶格:最左边;
- 下边界同样后面只能跟分号,不能跟任何内容;
2、 结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身
字符串长度问题
<?php
$str1 = 'abcdefg';
$str2 = '中国123';
echo strlen($str1),'<br/>',strlen($str2); // 7 9(中文在utf下占3个字节)
字符串相关函数