2

我刚开始学习 PHP,在理解单引号和双引号的使用方面有些困难。

我想要得到的输出是:她说,“你好,你的 IP 地址是‘localhost’”

这是我到目前为止的代码,没有错误:

<?php
echo 'She said, "Hello, your IP address is '  . $_SERVER['SERVER_NAME'];
?>

尝试将单引号添加到 SERVER_NAME 和最后的双引号时,出现错误。

您能否向我提供任何进一步的信息以了解如何使用和添加单引号和双引号以进行输出?

4

6 回答 6

2

如果您是 PHP 新手,我建议您查看Strings的文档,以避免在您未来的项目中出现潜在的陷阱。

于 2013-09-05T17:18:29.847 回答
1

引号必须成对出现,因此您需要跟踪一种类型的引号在哪里结束,而另一种在哪里开始。

例子:

 John wrote: "She said 'Hello' to me"

同样,当您在带引号的字符串中插入数据时:

 John wrote: "She said '" .varname. "Hello' to me"

或者,在您最初的示例中:

echo 'She said, "Hello, your IP address is '  . $_SERVER['SERVER_NAME'] . '"';

您是否看到我们如何首先关闭外部引用,添加外部 var,然后重新打开外部引用以继续引用的文本?在您的示例中,只需要添加一个包含右引号(也是一个字符)的“字符串”:' " '

一个好主意是使用有帮助的编辑器。我推荐 Notepad++。它不仅具有语法高亮功能,可帮助您跟踪成对的问号、括号、括号等,而且它还有一个令人难以置信的 FTP 工具,当您保存文件时,它可以立即 FTP 将更改的文件上传到您的服务器。

于 2013-09-05T17:18:39.797 回答
1

这种方式将起作用:

<?php
echo 'She said, "Hello, your IP address is '  . $_SERVER['SERVER_NAME'] . '"';
?>
于 2013-09-05T17:20:10.240 回答
0

你也可以这样做:

echo "She said, \"Hello, your IP address is {$_SERVER[SERVER_NAME]}\"";

我已经避开了"它们的字面意思的标记,并将数组引用包裹在大括号中。请注意,在字符串内部,关联数组查找不需要引用,但在字符串外部,它们需要。

于 2013-09-05T17:17:42.700 回答
0

您需要更改为使用双引号回显才能使用转义。然后转义要打印的双引号\"

<?php
echo "She said, \"Hello, your IP address is '" . $_SERVER['SERVER_NAME'] . "'\"";
?>
于 2013-09-05T17:17:55.450 回答
0

PHP变量中不能用单引号运行,它将被视为一个字符串。

例如:

$a = "Hello World";

echo "$a";

输出:

Hello world   

echo '$a'; 

输出:

$a
于 2013-09-05T17:19:19.817 回答