Ale*_*lex 6 php variables global global-variables
<?php
$foo = 1;
function meh(){
// <-- $foo can't be accessed
}
Run Code Online (Sandbox Code Playgroud)
它看起来不像是全局的,但变量在外面的事实是否有像全局的东西一样的缺点?
是.可以从任何位置访问它们,包括其他脚本.它们稍微好一些,因为您必须使用global关键字从函数中访问它们,这样可以更清楚地了解它们来自何处以及它们的作用.
全局变量的缺点适用,但这并不会立即使它们像某些OO语言中常见的那样变得邪恶.如果他们能够提供一个有效且易于理解的好解决方案,那么你就没事了.实际上有数百万个成功的PHP项目使用这样声明的全局变量.你可以做的最大的错误就是不使用它们,并且当你的代码首先使用它们时,它们会变得更加复杂.:d
小智 7
在任何函数之外定义的所有变量都在全局范围内声明.如果要访问全局变量,您有两种选择:
使用global关键字
<?php
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a + $b;
}
?>
Run Code Online (Sandbox Code Playgroud)或者使用$ GLOBALS
<?php
$a = 1;
$b = 2;
function Sum()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
?>
Run Code Online (Sandbox Code Playgroud)
更多信息,请访问http://php.net/manual/en/language.variables.scope.php
小智 5
<?php
$foo = 1;
function meh(){
global $foo;
// <-- $foo now can be accessed
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7276 次 |
| 最近记录: |