总结 单引号 和 双引号 的区别,请大家发表

lanyan8008 2003-12-03 10:52:29
总结 单引号 和 双引号 作用的区别,请大家发表
...全文
136 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
caaclxf 2004-02-29
  • 打赏
  • 举报
回复
最主要的还是双引号可以输出变量,单引号不能
shuzai 2004-02-29
  • 打赏
  • 举报
回复
输出变量我一般用点连接符号的
例如
$a = "abc";
echo "ccc".$a."ccc";
这样子在ultraedit里面容易看到这个变量
此外,我一般不喜欢用 \" 的写法
通常人家这样写的
echo "<a href=\"www.abc.com\">asdf</a>";
但是我习惯echo "<a href='www.abc.com'>asdf</a>";
或者干脆echo "<a href=www.abc.com>asdf</a>";

wowowowo 2004-02-28
  • 打赏
  • 举报
回复
' '中不对\$ \"进行转义 " "中不对\'进行转义
<?
$a=qq;
echo '$a';
echo "$a";
echo '""';
echo "''";
echo '\'\"';
echo "\'\"";
?>
lbbutterfly 2004-02-28
  • 打赏
  • 举报
回复
经测试:双引号比单引号慢0.00000000000000000000000000000000000000000001秒?
何必咧...
xucarry 2003-12-05
  • 打赏
  • 举报
回复
双引号要检测变量插值,
单引号不用检测,
所以单引号要比双引号快,
不知道是否符合逻辑?
okdw 2003-12-04
  • 打赏
  • 举报
回复
综上所述!

呵呵,还有在正则表达式中……有一种只能用单引号不能用双引号的情况,我看过但给忘了
sshwsfc 2003-12-03
  • 打赏
  • 举报
回复
单引号
指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来。

要表示一个单引号,需要用反斜线(\)转义,和很多其它语言一样。如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。注意如果你试图转义任何其它字符,反斜线本身也会被显示出来!所以通常不需要转义反斜线本身。

注: 在 PHP 3 中,此情况下将发出一个 E_NOTICE 级的警告。

注: 和其他两种语法不同,单引号字符串中出现的变量和转义序列不会被变量的值替代。


<?php
echo 'this is a simple string';

echo 'You can also have embedded newlines in
strings this way as it is
okay to do';

// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';

// Outputs: This will not expand: \n a newline
echo 'This will not expand: \n a newline';

// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>





--------------------------------------------------------------------------------

双引号
如果用双引号(")括起字符串,PHP 懂得更多特殊字符的转义序列:

表格 7-1. 转义字符

序列 含义
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

此外,如果试图转义任何其它字符,反斜线本身也会被显示出来!

双引号字符串最重要的一点是其中的变量名会被变量值替代。细节参见字符串解析。

sshwsfc 2003-12-03
  • 打赏
  • 举报
回复
正则
ustb 2003-12-03
  • 打赏
  • 举报
回复
1)引号成对出现,不可以同对嵌套,如下是不可以的:""""或''''
2)双引号中可以放变量,如:"$str";而单引号不行,如:'$str',将会输出$str,因为php认为单引号之内的是一个字符串,而非一个变量。
3)据说单引号比双引号要快,没有测试过;
4)单引号在sql语句中不可省,如:"insert into shop (shopname,shopaddress) values ('$shopname','$shopaddress')";如果没有引号将会失败,另外里面的数据中如果含有单引号,都一定要转义,即用addslashes()函数来处理,否则会出现配对错误。
5)当出现非要两种引号都要使用的情况,可以这样处理,如:"'".$str."'";结果会输出带单引号的变量。
6)其他情况,还没想到。
xuzuning 2003-12-03
  • 打赏
  • 举报
回复
$str = "abcd";
echo "$str";
echo '$str';

执行一下看看
shuzai 2003-12-03
  • 打赏
  • 举报
回复
在php当中,发现好像区别不大
只是两个单引号or双引号不能嵌套使用(在没有\的时候)
而$str = ' "" ';
或者$str = " '' ";
那里面的引号属于字符串

不知道高人们有什么指正
fanisky 2003-12-03
  • 打赏
  • 举报
回复
区别在于双引号会替换里面的变量

单引号不会

所以单引号比双引号快.

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧