Php 指针-func中丢失的全局变量值

Php 指针-func中丢失的全局变量值,php,Php,请参阅下面的代码: global $global_p, $global_var; $global_var="lorem"; $global_p=&$global_var; function myfunc () { global $global_p, $global_var; var_dump($global_p); var_dump($global_var); } myfunc(); 输出: 对于var_dump($global_p)-NULL 对于变量转储

请参阅下面的代码:

global $global_p, $global_var;
$global_var="lorem";
$global_p=&$global_var;

function myfunc () {
    global $global_p, $global_var;
    var_dump($global_p);
    var_dump($global_var);
}

myfunc();
输出:

对于var_dump($global_p)-NULL

对于变量转储($global\u var)-字符串(5)“lorem”

为什么变量转储($global\u p)-NULL

如何在全球范围内保持价值

提前谢谢


如果我将$global_p作为函数参数传递,它会工作。但我只需要$global\u p作为全局var。

我得到了正确的输出

字符串(5)“lorem”字符串(5)“lorem”


似乎和预期的一样:通常将变量传递给函数是一种更好的方法,而不是全局变量(通常不需要全局变量),尤其是当第一个变量有效而第二个变量无效时。那么,为什么需要
$global\u p
作为全局变量(除了它应该匹配它的名称:D)hm。。在我的服务器上,var_dump($global_p)的值为NULL。。。有什么问题吗?你需要去掉第一个全局关键字。只能在函数中使用它来引用全局变量。事实上,您可以去掉整个第一行,然后您应该复制并粘贴您正在运行的实际代码,因为