PHP $ _Server无法正常工作

时间:2014-03-18 00:43:25

标签: php string variables string-interpolation

我有以下一行:

<div class='social'>http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]</div>

一切都很棒,它会显示当前的链接,让我们说:http://www.example.com/mypage.php

现在我想将此与变量关联起来

$myURL = 'http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]'

当我回应这个时,我得到&#34; http:// $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]&#34; - 换句话说,代码本身。我究竟做错了什么?

我也尝试过: $ myURL =&#39; {http:// $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]}&#39;

我也试过直接回复它:

echo 'http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]';

我在俯瞰什么?谢谢!

1 个答案:

答案 0 :(得分:6)

单引号时不会插入变量。使用双引号:

$myURL = "http://$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']";

或者,为了清楚起见:

$myURL = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$myURL = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$myURL = sprintf("http://%%",$_SERVER['HTTP_HOST],$_SERVER['REQUEST_URI']);