PHP变量作用域(花括号、global、闭包)

2018-01-16  本文已影响26人  panw3i

{}花括号 ,很多语言都以花括号作为作用域界限,PHP中只有函数的花括号才构成新的作用域。

函数内无法访问函数外,函数外无法访问函数内

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>

if和for的花括号并无构成新的作用域。

global关键字无论在哪层,所引用的都是全局域的变量。

闭包作用域跟函数类似,内层访问外层变量,外层不能访问内层变量。

上一篇 下一篇

猜你喜欢

热点阅读