Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开始PhP:保护引号_Php_Html_Double Quotes - Fatal编程技术网

开始PhP:保护引号

开始PhP:保护引号,php,html,double-quotes,Php,Html,Double Quotes,我是PHPN00B。我正在阅读一些在线教程,但我已经有一个问题(我想这是一个非常基本的问题): 我不明白为什么以下代码可以正常工作: <html> <head> <title> My Firts PHP page </title> </head> <body> <?php $userAgent = $_SERVER["HTTP_USER_A

我是PHPN00B。我正在阅读一些在线教程,但我已经有一个问题(我想这是一个非常基本的问题):

我不明白为什么以下代码可以正常工作:

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <?php
            $userAgent = $_SERVER["HTTP_USER_AGENT"];
            echo "<p>This is my awesome User Agent: <b>\"$userAgent\"</b></p>";
        ?>
    </body>
</html>

我的第一个PHP页面
尽管我保护括号内的引号,但以下内容不起作用:

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <?php
            echo "<p>This is my awesome User Agent: <b>$_SERVER[\"HTTP_USER_AGENT\"]</b></p>";
        ?>
    </body>
</html>

我的第一个PHP页面

先谢谢你

转义引号的错误用法。请参阅并测试以下内容:

echo "<p>This is my awesome User Agent: <b>". $_SERVER["HTTP_USER_AGENT"] ."</b></p>";
echo”这是我最棒的用户代理:“$_服务器[“HTTP用户代理”]。“

”;
转义引号的错误用法。请参阅并测试以下内容:

echo "<p>This is my awesome User Agent: <b>". $_SERVER["HTTP_USER_AGENT"] ."</b></p>";
echo”这是我最棒的用户代理:“$_服务器[“HTTP用户代理”]。“

”;
您可以尝试以下方法之一:

花括号允许在字符串中使用复杂表达式

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <?php
            echo "<p>This is my awesome User Agent: <b>{$_SERVER[\"HTTP_USER_AGENT\"]}</b></p>";
        ?>
    </body>
</html>

我的第一个PHP页面
更好的是,只需对输出的片段使用php

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <p>This is my awesome User Agent: <b><?php echo $_SERVER["HTTP_USER_AGENT"]; ?></b></p>
    </body>
</html>

我的第一个PHP页面
这是我最棒的用户代理:


您可以尝试以下方法之一:

花括号允许在字符串中使用复杂表达式

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <?php
            echo "<p>This is my awesome User Agent: <b>{$_SERVER[\"HTTP_USER_AGENT\"]}</b></p>";
        ?>
    </body>
</html>

我的第一个PHP页面
更好的是,只需对输出的片段使用php

<html>
    <head>
        <title> My Firts PHP page </title>
    </head>
    <body>
        <p>This is my awesome User Agent: <b><?php echo $_SERVER["HTTP_USER_AGENT"]; ?></b></p>
    </body>
</html>

我的第一个PHP页面
这是我最棒的用户代理:


您可以在字符串中包含一个变量,如下所示:

echo "<p>This is my awesome User Agent: <b>{$_SERVER["HTTP_USER_AGENT"]}</b></p>";
echo“这是我最棒的用户代理:{$\u服务器[“HTTP\u用户代理”]}

”;
如果你使用它,它会更好更干净

echo "<p>This is my awesome User Agent: <b>". $_SERVER["HTTP_USER_AGENT"] ."</b></p>";
echo”这是我最棒的用户代理:“$_服务器[“HTTP用户代理”]。“

”;
或者在数组键中不使用单引号

echo "<p>This is my awesome User Agent: <b>$_SERVER[HTTP_USER_AGENT]</b></p>";
echo“这是我最棒的用户代理:$\u服务器[HTTP\u用户\u代理]

”;
您可以在字符串中包含一个变量,如下所示:

echo "<p>This is my awesome User Agent: <b>{$_SERVER["HTTP_USER_AGENT"]}</b></p>";
echo“这是我最棒的用户代理:{$\u服务器[“HTTP\u用户代理”]}

”;
如果你使用它,它会更好更干净

echo "<p>This is my awesome User Agent: <b>". $_SERVER["HTTP_USER_AGENT"] ."</b></p>";
echo”这是我最棒的用户代理:“$_服务器[“HTTP用户代理”]。“

”;
或者在数组键中不使用单引号

echo "<p>This is my awesome User Agent: <b>$_SERVER[HTTP_USER_AGENT]</b></p>";
echo“这是我最棒的用户代理:$\u服务器[HTTP\u用户\u代理]

”;
您基本上找到了一个边缘案例。在PHP中,字母数字数组键需要加引号,而在双引号字符串中,它们需要不加引号:

echo“这是我最棒的用户代理:$\u服务器[HTTP\u用户\u代理]

”;

字符串解析遵循自己的规则。一般来说,您不能将随机PHP代码放入字符串中并让其执行。

您基本上已经找到了一个边缘案例。在PHP中,字母数字数组键需要加引号,而在双引号字符串中,它们需要不加引号:

echo“这是我最棒的用户代理:$\u服务器[HTTP\u用户\u代理]

”;

字符串解析遵循自己的规则。一般来说,您不能将随机PHP代码放入字符串中并执行它。

有什么不起作用?它会抛出错误吗?它不是完全输出的吗?无论如何,最好不要将变量与字符串文字混合在一起。这使您的代码阅读起来非常困难是的,很抱歉:出现了一个错误:“语法错误意外”(T_封装的_和_空白)需要标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)“最好的办法是阅读手册:什么东西不管用?它会抛出错误吗?它不是完全输出的吗?无论如何,最好不要将变量与字符串文字混合在一起。这让你的代码读起来非常痛苦是的,对不起:有一个错误:“语法错误意外”(T_封装的_和_空格)期望标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)“如果你阅读手册,最好是:我可以在字符串中包含一个变量,也不带括号。可能只有在它是“简单”的情况下“变数。我可以这样做:echo“我的名字是$name$姓氏”;如果没有遇到错误,我可以在字符串中包含变量,也可以不使用括号。也许只有当它是一个“简单”变量时。我可以这样做:echo“我的名字是$name$姓氏”;无误