作者:里 | 来源:互联网 | 2023-08-12 23:19
后端开发|php教程PHP,global后端开发-php教程A、实现原理在PHP的函数中,global语法是比较常见的,大家一定都知道一旦在函数中global了某个外部变量后,这个
后端开发|php教程
PHP,global
后端开发-php教程
A、实现原理
在PHP的函数中,global语法是比较常见的,大家一定都知道一旦在函数中global了某个外部变量后,这个变量就可以在这个函数中使用了,但是也有不少网友不知道这是一个什么实现原理。现在上一个例子,大家一看就知道了:
教学辅助平台系统 源码,vscode 切换全屏,iwiwifi ubuntu,tomcat 上传jsp,sqlite字段包含字符,iconv 插件,前端流行框架排行榜,爬虫的使用说明,PHP 写入 mysql,绥芬河整站seo优化,卖码网站,简约大气的网页背景图,php168 模板lzw
$globalStr = '.net';
php互助系统源码,ubuntu改变文件权限,tomcat 装2个服务,python爬虫ocr,跑php代码的软件,SEO离职lzw
function globalTest(){
vip接口源码,ubuntu 重命名硬盘,tomcat1.6并发数,vps爬虫方案,php适合开发企业吗,seo从零开始学会seo教程lzw
global $globalStr;
$globalStr = 'jb51'.$globalStr;
unset($globalStr);
}
globalTest();
echo $globalStr; //输入: jb51.net从这个例子看出global了一个变量就等于传递了一个引用进来。这样理解的话,下面的代码输出结果就不难理解了。
B、php中global的作用
global $var1,$var2;就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。改变这些变量的值,外部的同名变量自然也改变。但一旦用了&,那么变量将不再是同名引用。
$var1 = 1;
$var2 = 2;
function test()
{
global $var1,$var2; // 作用范围在函数体内
$var1 = 3;
}
test();
echo $var1;
?>结果是 3。因为是同名引用。
$var1 = 1;
$var2 = 2;
function test()
{
global $var1,$var2;
$var1 = &var2;
}
test();
echo $var1
?>结果是1。因为在函数内的$var1经过赋值后与$var2具有相同的引用了。进一步看下面的代码。
$var1 = 1;
$var2 = 2;
function test_global()
{
global $var1,$var2;
$var1=&$var2;
$var1=7;
}
test_global();
echo $var1;
echo $var2;
?>结果是1和7。因为在函数内的$var1与$var2具有相同的引用。因此改变了$var1的值,$var2的值夜作了改变。