PHP中单引号和双引号的爱恨情仇

本文详细探讨了PHP中单引号和双引号的区别,主要体现在字符串输出和变量处理上。当输出字符串时,两者无明显差异;但在输出变量时,双引号会解析变量,而单引号则视为普通字符串。在变量赋值场景下,两者作用相同。此外,文章通过实例展示了如何在字符串拼接中灵活运用单双引号,以达到预期效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么写这篇

在每次遇到单引号和双引号都在一起的情况时,我都会去花很多时间去搞明白,这导致会很浪费时间,所以我想写这篇笔记来整理下思路。

输出字符串

代码:

<?php
echo "a";
echo "<br>";
echo 'a';
?>

效果:
在这里插入图片描述
可以看出输出字符串时单双引号都输出一样

输出变量

代码:

<?php
$a="a";
echo "$a";
echo "<br>";
echo '$a';
echo "<br>";
echo $a;
?>

在这里插入图片描述
可以看出输出变量时单双引号输出有所不同
单引号时输出的是$a,而双引号输出的是a
说明在输出中,双引号会把$a当做变量输出,而单引号会把 $a 当做字符串输出
都没有双引号的情况下输出的是变量的值

输出变量加字符串

<?php
$a="hacker";
echo "I am a ".$a;
?>

在这里插入图片描述

变量赋值

<?php
$a="hacker";
$b='hacker';
echo $a;
echo $b;
?>

可以看出变量赋值时单双引号都是一样的效果

赋值变量加字符串

代码:

<body>
<?php
$a="hacker";
$b="\"hacker\"";
$c='I am a '.$a;
$c2="I am a ".$a;
$d='I am a '.$b;
$d2="I am a ".$b;
echo $c;
echo "<br>";
echo $d;
echo "<br>";
echo $c2;
echo "<br>";
echo $d2;
?>

在这里插入图片描述
可以看出在有变量和单双引号赋值的情况下,是一样的。

综合

代码:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<body>
<?php 
$str ="hacker";
echo "<h2 align=center>没有找到和".$str."相关的结果.</h2>"."<center>
<form>
<input name=keyword  value='".$str."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>
</body>
</head>
</html>

在这里插入图片描述
其中重要的是这个echo语句

echo "<h2 align=center>没有找到和".$str."相关的结果.</h2>"."<center>
<form>
<input name=keyword  value='".$str."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";

他可以分解为这9个字符串的拼接

<h2 align=center>没有找到和
$str
相关的结果.</h2>
<center>
<form>
<input name=keyword  value='"
$str
'>	
<input type=submit name=submit value=搜索 /></form></center>

.是拼接字符串的符号,单引号和双引号都能将字符串括起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值