PHP-单双引号的区别

<?php

/*PHP输出有单引号的字符串可以放在双引号里面,输出有双引号的字符串可以放在单引号里面*/

//这个字符串的中间有单引号(')
echo "这个字符串的中间有单引号(')";

echo "<br>";
echo "<br>";

//这个字符串的中间有双引号(")
echo '这个字符串的中间有双引号(")';

echo "<br>";
echo "<br>";

$str1 = "hello";
echo $str1, '<br />';//hello
$str2 = "hello,'jack' ";
echo $str2;//hello,'jack'

echo "<br>";
echo "<br>";

// 再看单引号
$str1 = 'hello';
echo $str1, '<br />';//hello
$str2 = 'hello ,"jack" ';
echo $str2;//hello ,"jack"


echo "<br>";
echo "<br>";

/*转义:
用双引号,来声明字符串的时候, 内部不能再出现双引号,
因为,双引号被当成字符串的"边界"来对待, 因此,内部出现双引号,就引起了解释上的歧义.
这时,可以用转义字符, 即,用\" 转义 来表示 "
还有没有其他的转义字符呢?
像: \", 被用来当成 " 理解了.
那我要是确实想表示 反斜线\, 又怎么办呢?,
答: 用\\, 表示 反斜线\
还有没有其他的转义字符呢?
答:有
\n, \r, \$,等
\n 转义成 换行符
\r 转义成 回车符
*/

$str2 = "hello ,\"jack\",<br />";
echo $str2;        //hello ,"jack",
$str3 = "hello \\";
echo $str3,'<br />';       //hello \
$str4 = "hello\n\r\n\r\n\rworld";
echo $str4,'<br />';       //hello world

$str5 = "hello $str3"; //双引号认识变量标识$
echo $str5,'<br />'; 	 // hello hello \  , 即把$str3当变量给解析出来
$str6 = "world \$str3"; 	//此处斜杠将$失去了变量标识的意义
echo $str6;//world $str3  
//此处 \$被转成了普通字符串$,而不再理解为变量标志.

echo "<br>";
echo "<br>";

$age = 29;
$str1 = 'hello \n\r \t $age';//单引号不认识变量标识$、\n\r \t等
$str2 = "hello \n\r \t $age";
echo $str1,'<br />',$str2;
//hello \n\r \t $age
//hello 29

/**
1:单双引号定义字符串有何区别?
转义上的区别:
单引号,系统不做复杂的转义, 只转义\',\\, 其他的---一律原样输出.
双引号,则转义的比较多,\",\\,\r,\n,\t,\$等.

对于变量解释的区别:
单引号,不对字符串的$作变量名解析,
而双引号,会试着$理解成变量名,来解析.
*/

/**
 2:单双引号定义字符串,哪个速度更快一些?
 答:单引号解析的更快,因为不需要进行过多的转义和变量解析

问:什么时间选用单/双引号呢?
答:大段文本,比如新闻标题,文本内容,自我介绍等这样大段话, 用',解析快.
但有时候,确实需要在一段字符串夹杂变量, 比如拼凑sql语句时
$id = 5;
$sql = "select * from user where id = $id";
 如果此时用单引,则语句成为了 ..id= $id,sql就出错了.
 此时,用双引合适. 解析$id,语句解析成 ..id = 5;
*/
?>

参考: php字符串中的双引号与单引号区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值