如何在单引号内使用单引号?

问题描述 投票:10回答:7

谁能解释如何使此代码有效?

echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';

我已经尝试删除单引号(echo '<div id="panel1-under">Welcome <?php echo "$_SESSION[username]"; ?></div>';),但是它不起作用。

php html quotes
7个回答
12
投票
echo '<div id="panel1-under">Welcome '.$_SESSION['username'].'</div>';

快速说明:

您不必在回显字符串(“ ...”)中重新打开标签

    我在这里所做的是将字符串
  • “ Welcome”传递给
  • $ _ SESSION ['username']和“”(。运算符的作用)并置的字符串PHP甚至足够聪明,可以检测PHP字符串中的变量并求值:]
  • $$ variablename =“ Andrew”;
  • echo“你好$ variablename,欢迎”;

    =>你好,安德鲁,欢迎

    更多信息:PHP.net - echo

在单引号内,不会像在双引号内那样解析变量名。如果要在此处使用单引号字符串,则需要使用
string concatenation
运算符.

echo '<div id="panel1-under">Welcome <?php echo "'.$_SESSION['username'].'"; ?></div>'; 顺便说一句:标题中问题的答案是,为了在单引号引起来的字符串中使用文字单引号,请使用反斜杠

escape

单引号:

echo 'Here is a single-quote: \'';

您需要连接字符串和变量。
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';

变量扩展在单引号内不起作用。您可以执行以下任一操作:
echo "<div id=\"panel1-under\">Welcome {$_SESSION['username']}</div>";

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';

一般来说,要在使用单引号作为定界符的字符串中使用单引号,只需对字符串内的单引号进行转义
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>';

使用以下代码
$data = $session['user']; echo "a big string and $data thats simple"

您可以在双引号内使用双引号或单引号。
#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';

8
投票
string concatenation

6
投票

5
投票

3
投票

0
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.