如何在单引号内使用单引号?
Posted
技术标签:
【中文标题】如何在单引号内使用单引号?【英文标题】:How do I use single quotes inside single quotes? 【发布时间】:2011-03-23 23:13:02 【问题描述】:谁能解释一下如何使这段代码工作?
echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';
我尝试删除单引号 (echo '<div id="panel1-under">Welcome <?php echo "$_SESSION[username]"; ?></div>';
),但它不起作用。
【问题讨论】:
【参考方案1】:echo "<div id=\"panel1-under\">Welcome ".$_SESSION['username']."</div>";
或
echo '<div id="panel1-under">Welcome '.$_SESSION['username'].'</div>';
快速解释:
您不必重新打开 echo String (" ... ") 中的标签 我在这里所做的是将字符串 "Welcome " 连接到 $_SESSION['username'] 和 "" ( . 运算符的作用)PHP 甚至足够聪明,可以检测 PHP 字符串中的变量并对其进行评估:
$variablename = "安德鲁";
echo "Hello $variablename, 欢迎";
=>你好安德鲁,欢迎
更多信息:PHP.net - echo
【讨论】:
如果字符串在双引号或 Heredoc 中,PHP 将替换 PHP 字符串中的变量。这是一个重要的区别。 +1 示例中是这样,但我没有明确提及!谢谢echo "<div id=\"panel1-under\">Welcome $_SESSION['username']</div>";
应该也可以吗?【参考方案2】:
在单引号内,变量名不会像在双引号内那样被解析。如果您想在此处使用单引号字符串,则需要使用 字符串连接 运算符,.
:
echo '<div id="panel1-under">Welcome <?php echo "'.$_SESSION['username'].'"; ?></div>';
顺便说一句:标题中问题的答案是,为了在单引号字符串中使用文字单引号,您可以使用反斜杠转义单引号:
echo 'Here is a single-quote: \'';
【讨论】:
【参考方案3】:你需要连接你的字符串和变量。
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
【讨论】:
【参考方案4】:变量扩展在单引号内不起作用。你可以这样做:
echo "<div id=\"panel1-under\">Welcome $_SESSION['username']</div>";
或
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
【讨论】:
酷! +1。我不知道你可以像在第一个示例中那样使用关联数组,我怀疑它是否有效,我自己测试过它确实有效,尽管我可能永远不会那样使用它...... 第一个例子会弹出一个警告,比如“未定义的常量'用户名',假设是'用户名'”。最好使用括号语法:`echo "Welcome $_SESSION['username']"; 方法也是在双引号字符串中插入多维数组的子维度的唯一方法。 echo "$a[b][c]" 将输出等价于$a[b] . "[c]"
(类似于 'Array[c]'),因为 PHP 的解析器对维度引用并不贪婪。【参考方案5】:
一般来说,要在使用单引号作为分隔符的字符串中使用单引号,您只需将字符串中的单引号转义即可。
echo 'That\'s all, folks';
不过,尚不清楚您的代码的目的是什么。
echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';
由于您已经在使用 PHP 代码,所以不需要<?php echo
。如果您尝试输出会话变量的内容,可以使用以下代码。
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
【讨论】:
【参考方案6】:使用以下代码
$data = $session['user'];
echo "a big string and $data thats simple"
【讨论】:
它如何回答How to use single quotes inside single quotes?
的问题?【参考方案7】:
双引号内可以使用双引号或单引号。
#Result: Hello "World" 's
$a = '"World"';
echo "Hello $a 's";
#Result: Hello "World" 's
echo "Hello \"World\" 's";
您还可以在单引号内使用双引号或单引号。 (构建 SQL 查询时不推荐)
#Result: Hello World's "s
echo 'Hello World\'s "s';
【讨论】:
以上是关于如何在单引号内使用单引号?的主要内容,如果未能解决你的问题,请参考以下文章