1、单引号和双引号都可以作为字符串的开始符和关闭符,并且只能同一种单或者双引号来定义开始和结束;单引号之间的字符都被认为是字符,即使是转义符\和变量符$,例外的是\’标识单引号。
2.双引号之间的字符是需要php解析的,包括$,\,{都保留了php赋予的特殊含义。
3." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出;而' '单引号里面的不进行解释,直接输出。
例如:
$abc='my name is tome'
echo $abc //结果是:my name is tom
echo '$abc' //结果是:$abc
echo "$abc" //结果是:my name is tom
特别在使用MYSQL语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。
假设查询条件中使用的是常量,例如:
select*fromabc_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:" ' "
1,2,3部分字符串之间用"." 来连接
单独html标签时,单引号和双引号区别:
<html>
<head>
</head>
<body>
<input type = submit value = 提交1>
<input type = "submit" value = "提交2">
<input type = 'submit' value = '提交3'>
</body>
</html>
输出完全一样,故在纯html标签下以上三种写法是完全等效的。
2. 在JS混编情况下html标签的双引号和单引号区别:
转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。