深入理解PHP中的global

2025-05-29 0 55

一、实现原理
在PHP的函数中,global语法是比较常见的,大家一定都知道一旦在函数中global了某个外部变量后,这个变量就可以在这个函数中使用了,但是也有不少网友不知道这是一个什么实现原理。现在上一个例子,大家一看就知道了:

复制代码 代码如下:


$globalStr = '.com';

function globalTest(){

global $globalStr;

$globalStr = 'zzvips'.$globalStr;

unset($globalStr);

}

globalTest();

echo $globalStr; //输入: zzvips.com

从这个例子看出global了一个变量就等于传递了一个引用进来。这样理解的话,下面的代码输出结果就不难理解了。

二、phpglobal的作用

复制代码 代码如下:


global $var1,$var2;

就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。改变这些变量的值,外部的同名变量自然也改变。但一旦用了&,那么变量将不再是同名引用。

复制代码 代码如下:


<?php
$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具有相同的引用了。进一步看下面的代码。

复制代码 代码如下:


<?php
$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的值夜作了改变。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 深入理解PHP中的global https://www.kuaiidc.com/104310.html

相关文章

发表评论
暂无评论