Neden PHP doğrudan bir küresel değişkeni başvuru yapamazsınız ki?

3 Cevap

I'm curious to know why the following code behaves differently?

The following does not work:

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

The following works:

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

?

3 Cevap

Fazla bir sıfat daha fiil gibi global anahtar kelime düşünün. İlk örnek "referans $ _variable için _global $ olarak bilinen küresel atayın" diyor. Ama global bir sıfat değildir. Atama yapmak sonra, ya da "küresel dâhil etmeniz $ _Global", ve doğru İkinci örnek, php diyor, "bir küresel olarak tedavi $ _global".

Örneğin 1 olduğu gibi global özel bir dil oluşumu, bu operasyonlarda kullanılamaz.

global anahtar kelime söylemek için kullanılan "yerine yerel bir daha, bu isimle küresel değişkeni kullanın." En yaygın kullanımı bu gibi:

$name = 'Slokun';

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

hangi yazdırmak istiyorum

Slokun

Karşılaştır:

$name = 'Slokun';
printName();

function printName() {
    echo $name;
}

hangi şey yazdırmak olmaz