0

我有这段代码

redirect_loc(index.php);

这个函数的定义在函数文件的某个地方。

    function redirect_loc($location=NULL)
{
    if($location!=NULL)
    {
        header("Location:$location");
        exit;
    }
}

当我传递“index.php”(注意引号以指定为字符串)时,它可以工作,但是传递 index.php 会给出错误在此服务器上找不到请求的 URL /indexphp。

当它不作为字符串传递时,为什么这不起作用?

4

2 回答 2

3

当你写:

redirect_to(index.php);

这是index一个常数和php另一个常数,并使用.连接运算符连接它们。

它正在寻找一个名为的常量index(又是一个名为php的常量),并且没有找到具有该名称的常量,它使用值“index”(或“php”)作为字符串文字。

这不是推荐的做法。如果您打开错误日志记录,您将看到它发出类似“未定义常量index,取而代之的是字符串值”的通知。

于 2013-02-03T04:52:32.457 回答
1

这 。充当连接运算符。您看到找不到的文件的名称了吗?不.......它将两个“字符串”(indexphp)连接在一起 - 它认为这就是你想要的。

于 2013-02-03T04:48:37.530 回答