单引号与双引号的区别
来源:互联网 发布:六人定律知乎 编辑:程序博客网 时间:2024/05/30 18:30
如: char c = 'a'
而java中的双引号 表示字符串 一个或多个字符
如 String s = "abc"
String s="a" 和char c = 'a'是不一样的.
String是引用类型,char是值类型,不符合自动转换得要求(必须都是值类型,且没有越界)。所以呢,要转换,必须借助其他方法。比如 char a='4' String b=a+""; String c=String.valueOf(a);
public static String valueOf()是一个静态方法,参数里可以放boolean int char long float double等这些基本类型,返回这些东西的字符串表示形式比如: String.valueOf(true)返回"true"
单引号和双引号其实没啥区别,看你自己习惯了
<input type="button" onclick="alert("1")">-------------------不正确
<input type="button" onclick="alert('1')">-------------------正确
双引号中再用双引号要这样:
var str = "abc\"def\"ghi"
用反斜杠来禁止解析双引号。
案例分析:
在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
<input value="" type="button" onclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?
后来找到一段正常的代码:
<input value="Test" type="button" onclick="alert("OK");" />
这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。
下面列出各种表达方法:
<html>
<body>
<input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
<input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
<input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
<input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
<input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
<input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
<input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
<input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
<input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& a p o s ;)-IE错误" type="button" onclick="alert('OK');" /><br />
<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
<input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
</body>
</html>
①转义的字符不同
单引号和双引号中都可以使用转义字符(\),但单引号只能转义单引号和转义字符本身。如果用双引号(“”)括起字符串,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:” ‘ ”
附:大家也看到了 echo '<br/>'; html中的标签在单引号和双引号中都有效。
总结一下PHP引号使用原则
1.字符串的值用引号
2.PHP中尽量用单引号,HTML代码全部用双引号
3.在包含变量的时候,用双引号可以简化操作
4.复杂的情况下用大括号包起来
PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。
使用总结:在字符串里面不需要加入 变量 或者 单引号(')和反斜杠(\) 时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。
- " "(双引号)与 ' '(单引号)的区别
- 单引号与双引号的区别
- 单引号与双引号的区别
- PHP中单引号与双引号的区别
- PHP中单引号与双引号的区别
- asp中单引号与双引号的区别
- PHP中单引号与双引号的区别
- PHP中单引号与双引号的区别
- SQL中单引号与双引号的区别
- PHP中单引号与双引号的区别
- shell中" "(双引号)与 ' '(单引号)的区别
- shell中单引号与双引号的区别
- PHP中单引号与双引号的区别
- PHP中单引号与双引号的区别
- PHP中单引号与双引号的区别
- " "(双引号)与 ' '(单引号)的区别 (转载)
- PHP中单引号与双引号的区别
- 双引号 与 单引号 的区别 -- Shell
- 易用的深度学习框架Keras简介及使用
- 22-LTE Policy and Charging Control (PCC)
- Python 中的 classmethod 和 staticmethod 有什么具体用途?
- 虚拟化之QEMU与KVM
- Struts2开发第一步
- 单引号与双引号的区别
- Android中WebView载入本地HTML代码并实现交互
- 使用Fragment的原有
- 大量滚动数据求平均
- MySQL学习2_CentOS下安装MySQL遇到问题:Access denied for user 'root'@'localhost'
- Android与PHP服务器数据连接源码
- 23-LTE Charging I_Offline
- leetcode 18
- scrapy settings --- 为每一个spider设置自己的pipeline