【问题标题】:\n or \n in php echo not print [duplicate]\n 或 \n 在 php echo 中不打印 [重复]
【发布时间】:2012-11-24 08:33:01
【问题描述】:

可能重复:
Print newline in PHP in single quotes
Difference between single quote and double quote string in php

$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>\n';
echo '<p>' . $unit2 . '</p>';

这正在显示(在查看源代码上):

<p>paragraph1</p>\n<p>paragraph2</p>

但不是我所期望的,不打印新行,可能是什么?

【问题讨论】:

标签: php string


【解决方案1】:

PHP 仅在使用双引号 (") 时解释转义字符(转义反斜杠 \\ 和转义单引号 \' 除外)

这有效(导致换行):

"\n"

这不会导致换行:

'\n'

【讨论】:

  • '\n'“工作”就好了。它打印字符串\n,如文档所述。
  • Teehee 更好 ;-)
  • 转义单引号(\')在单引号('')中工作,转义双引号(\")在双引号("")中工作。
【解决方案2】:

最好改用 PHP_EOL(“行尾”)。它是跨平台的。

例如:

$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>' . PHP_EOL;
echo '<p>' . $unit2 . '</p>';

【讨论】:

    【解决方案3】:

    转义序列(以及变量)在 double quotedheredoc 字符串中工作。所以把你的代码改成:

    echo '<p>' . $unit1 . "</p>\n";
    

    PS:一个澄清,单引号字符串接受两个转义序列:

    • \' 当你想在单引号字符串中使用单引号时
    • \\ 当您想按字面意思使用反斜杠时

    【讨论】:

    • 感谢您和其他人的回答,1分钟内回答,哇。
    【解决方案4】:

    \n 必须用双引号括起来!

    echo "hello\nworld";
    

    输出

    hello
    world
    

    解决这个问题的一个好方法是使用 PHP 作为一种模板语言

    <p>
        Hello <span><?php echo $world ?></span>
    </p>
    

    输出

    <p>
        Hello <span>Planet Earth</span>
    </p>
    

    注意,所有换行符都保持完整!

    【讨论】:

      【解决方案5】:

      \n 必须用双引号括起来!

       echo '<p>' . $unit1 . "</p>\n";
      

      【讨论】:

        【解决方案6】:
        $unit1 = "paragrahp1";             
        $unit2 = "paragrahp2";  
        echo '<p>'.$unit1.'</p>';  
        echo '<p>'.$unit2.'</p>';
        

        在以新行开头时始终使用标记&lt;p&gt;,这样您就不需要使用 /n 类型的语法。

        【讨论】:

          猜你喜欢
          • 2012-06-26
          • 2014-04-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-01
          • 2012-01-18
          相关资源
          最近更新 更多