簡體   English   中英

為什么不能在PHP中直接引用全局變量?

[英]Why is it that I can't reference a global variable directly in PHP?

我很想知道為什么以下代碼的行為有所不同?

以下內容不起作用:

$_variable &= global $_global;
echo $_variable;

以下作品:

global $global;
$_variable &= $_global;
echo $_variable;

global是一種特殊的語言構造,不能像在示例1中那樣在操作中使用。

global關鍵字用於說:“使用此名稱而不是本地變量來使用全局變量。” 最常見的用法是這樣的:

$name = 'Slokun';

printName();
function printName() {
    global $name; // Use the global, rather than function-local, version
    echo $name;
}

將打印

Slokun

相比於:

$name = 'Slokun';
printName();

function printName() {
    echo $name;
}

不會打印任何東西

global關鍵字想像成動詞而不是形容詞。 您的第一個示例說:“引用將稱為$ _global的全局變量分配給$ _variable”。 但是global不是形容詞。 第二個例子是正確的,對php說,“將$ _global作為全局對待”或“ global-ify $ _global”,然后進行賦值。

您的代碼應該是錯誤的。 通過引用傳遞值應該是:

1.)

$_variable =& $_global;

2.)

$_variable = & $_global;

3.)

$_variable = &$_global;

1〜3是同一件事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM