【问题标题】: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 '&lt;div id="panel1-under"&gt;Welcome &lt;?php echo "$_SESSION[username]"; ?&gt;&lt;/div&gt;';),但它不起作用。

【问题讨论】:

    标签: php html quotes


    【解决方案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 "&lt;div id=\"panel1-under\"&gt;Welcome {$_SESSION['username']}&lt;/div&gt;"; 应该也可以吗?
    【解决方案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 代码,所以不需要&lt;?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';
          

          【讨论】:

            猜你喜欢
            • 2018-06-13
            • 1970-01-01
            • 1970-01-01
            • 2012-03-26
            • 2013-05-13
            • 1970-01-01
            • 1970-01-01
            • 2016-12-17
            • 1970-01-01
            相关资源
            最近更新 更多