Php 无法正确获取双引号

Php 无法正确获取双引号,php,Php,我有以下几项可以很好地工作: header("Location: /index.php", true, 300); 但我希望文件名是动态的,即 header("Location: /" . $_SESSION['initiating_url']); 这很好,但是,最后我仍然需要,真的,300,这我似乎无法理解: header("Location: /" . $_SESSION['initiating_url'] . "\"", true, 300); header("Location: /"

我有以下几项可以很好地工作:

header("Location: /index.php", true, 300);
但我希望文件名是动态的,即

header("Location: /" . $_SESSION['initiating_url']);
这很好,但是,最后我仍然需要,真的,300,这我似乎无法理解:

header("Location: /" . $_SESSION['initiating_url'] . "\"", true, 300);
header("Location: /" . $_SESSION['initiating_url'] . """, true, 300);

但它们似乎不能正常工作。底部的一个给了我编辑器中的语法错误。第二个到最后一个示例根本不重定向。

在以下情况下,不需要添加明确的结束:

为清楚起见:

$path = 'home';
echo "Location: /" . $path;          // Location: /home
echo "Location: /home";              // Location: /home
echo "Location: /" . $path . "\"";   // Location: /home"
echo "\"Location: /" . $path . "\""; // "Location: /home"

在以下情况下,不需要添加明确的结束:

为清楚起见:

$path = 'home';
echo "Location: /" . $path;          // Location: /home
echo "Location: /home";              // Location: /home
echo "Location: /" . $path . "\"";   // Location: /home"
echo "\"Location: /" . $path . "\""; // "Location: /home"

您还可以利用解析字符串的优势来执行此操作:

header("Location: /{$_SESSION['initiating_url']}", true, 300);

如果你需要连接字符串,你应该使用单引号,因为它们的解析速度要快一些,它们不会被解析,或者类似的东西:$foo='World';回显“Hello\n”。$foo;。如果您不希望\n变成转义字符$foo='World';echo Hello\n$foo;我会解析它。完全脱离主题但很有帮助,我想您也可以利用解析字符串的优势来执行此操作:

header("Location: /{$_SESSION['initiating_url']}", true, 300);

如果你需要连接字符串,你应该使用单引号,因为它们的解析速度要快一些,它们不会被解析,或者类似的东西:$foo='World';回显“Hello\n”。$foo;。如果您不希望\n变成转义字符$foo='World';echo Hello\n$foo;我会解析它。完全脱离主题,但我想很有帮助

虽然我不明白你说的是什么,但你的答案是正确的:@在nl-x中,OP认为他们需要显式引用字符串,即字符串。但是,在使用字符串连接时,不必使用结束引号。虽然我不明白你用显式和暗示的方式说了什么,但你的答案是正确的:@在nl-x中,OP认为他们需要显式引用字符串,即字符串。但是使用字符串连接时不需要结束引号。是的!太多人似乎认为连接是文本中包含变量的唯一方法。在大多数情况下,字符串解析使得文本更容易阅读。是的!太多人似乎认为连接是文本中包含变量的唯一方法。无论如何,在大多数情况下,字符串解析使文本更易于阅读。