问题引入:PHP字符串的几种定义方式和各自的区别
- php字符串的三种定义方式:
单引号
双引号
heredoc 和newdoc - 区别:
(1)单引号:
单引号不能解析变量
单引号不能解析转移字符,只能解析单引号和反斜线本身
变量和字符串之间可以相互用.连接
单引号的效率要高于双引号
示例:
<?php
$name = 'chenzhitao';
$str = 'my name\tis $name ';
print_r($str."\n");
运行结果:
chenzhitaodeMacBook-Pro:php chenzhitao$ php demo2.php
my name\tis $name
(2)双引号:
双引号可以解析变量,变量可以使用特殊字符和{}包含
双引号可以解析多有转移字符
也可以使用.连接
示例:
<?php
$name = 'chenzhitao';
$age = 26;
$str = "my name\tis $name age is {$age} ";
print_r($str."\n");
$sql = 'select * from user where name = \''.$name.'\'';
print_r($sql."\n");
$sql = "select * from user where name = '$name'";
print_r($sql."\n");
运行结果:
chenzhitaodeMacBook-Pro:php chenzhitao$ php demo2.php
my name is chenzhitao age is 26
select * from user where name = 'chenzhitao'
select * from user where name = 'chenzhitao'