①转义的字符不同
单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。
<?php
$str1 = \'\\',\\,\r\n\t\v\$\\"\';
echo $str1,\'<br />\';
$str2 = \"\\",\\,a\r\n\tb\v\$\\'\";
echo $str2,\'<br />\';
?>
②对变量的解析不同
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。
<?php
$age = 20;
$str1 = \'I am $age years old\';
$str2 = \"I am $age years old\";
echo $str1,\'<br />\'; // I am $age years old
echo $str2,\'<br />\'; // I am 20 years old;
?>
③解析速度不同
单引号不需要考虑变量的解析,速度比双引号快.推荐用单引号.有的时候双引号也比较好用,比如在拼凑sql 语句
反斜杠
//使用单引号
echo \' this \n is \r the blog \t of \\ zhoumanhe \\\';
//上面使用单引号输出的值是 this \n is \r the blog \t of \ zhoumanhe \
echo \'
\';
echo \"
\";
//使用双引号
echo \"this \n is \r the blog \t of \\ zhoumanhe \\\";
//上面使用双引号输出的值是 this is the blog of \ zhoumanhe \
使用sql
假设查询条件中使用的是常量,例如:
select * from abc_table where user_name=’abc’;
SQL语句可以写成:
SQLstr = “select * from abc_table where user _name= ‘abc’”
;假设查询条件中使用的是变量,例如:
$user_name = $_REQUEST[\'user_name\']; //字符串变量
或
$user=array (”name”=> $_REQUEST[\'user_name‘,\"age\"=>$_REQUEST[\'age\'];//数组变量
SQL语句就可以写成:
SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “select * from abc_table where user_name = ‘ ” . $user[\"name\"] . ” ‘ “;
对比一下:
SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;
SQLstr=”select * from abc_table where user_name =’ ” . $user _name . ” ‘ “;
SQLstr=”select * from abc_table where user_name =’ ” . $user[\"name\"] . ” ‘ “;
SQLstr可以分解为以下3个部分:
1:”select * from table where user_name = ‘ ” //固定SQL语句
2:$user //变量
3:” ‘ ”
继续阅读与本文标签相同的文章
下一篇 :
“脑控+AI” 让人用“本能”驾驶
-
小鹏P7售价28.3-39.6万元,何小鹏称Model 3毫无竞争力
2026-05-14栏目: 教程
-
Vision M NEXT 概念车,宝马面向“未来”的产品张什么样?
2026-05-14栏目: 教程
-
大反转!谷歌态度开始“服软”,华为即将获得GMS许可
2026-05-14栏目: 教程
-
Python 超简单实现9种图像风格迁移
2026-05-14栏目: 教程
-
华为打回欧洲市场!HMS取得重大成功,大量APP接入!谷歌慌不慌?
2026-05-14栏目: 教程
