在php当中,发现好像区别不大
只是两个单引号or双引号不能嵌套使用(在没有\的时候)
而$str = ' "" ';
或者$str = " '' ";
那里面的引号属于字符串不知道高人们有什么指正
只是两个单引号or双引号不能嵌套使用(在没有\的时候)
而$str = ' "" ';
或者$str = " '' ";
那里面的引号属于字符串不知道高人们有什么指正
调试欢乐多
echo "$str";
echo '$str';执行一下看看
2)双引号中可以放变量,如:"$str";而单引号不行,如:'$str',将会输出$str,因为php认为单引号之内的是一个字符串,而非一个变量。
3)据说单引号比双引号要快,没有测试过;
4)单引号在sql语句中不可省,如:"insert into shop (shopname,shopaddress) values ('$shopname','$shopaddress')";如果没有引号将会失败,另外里面的数据中如果含有单引号,都一定要转义,即用addslashes()函数来处理,否则会出现配对错误。
5)当出现非要两种引号都要使用的情况,可以这样处理,如:"'".$str."'";结果会输出带单引号的变量。
6)其他情况,还没想到。
指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来。 要表示一个单引号,需要用反斜线(\)转义,和很多其它语言一样。如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。注意如果你试图转义任何其它字符,反斜线本身也会被显示出来!所以通常不需要转义反斜线本身。 注: 在 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} 此正则表达式序列匹配一个用十六进制符号表示的字符 此外,如果试图转义任何其它字符,反斜线本身也会被显示出来! 双引号字符串最重要的一点是其中的变量名会被变量值替代。细节参见字符串解析。
<?
$a=qq;
echo '$a';
echo "$a";
echo '""';
echo "''";
echo '\'\"';
echo "\'\"";
?>
例如
$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>";