[英]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.