永发信息网

php 调用 其他文件变量

答案:4  悬赏:10  手机版
解决时间 2021-11-13 11:41
php 调用 其他文件变量
最佳答案
★ PHP变量是有作用域(指定的有效范围)的:
    函数内声明的变量只对该函数有效,出了函数的范围就会无效;
    同理在函数以外声明的变量在函数中访问也是无效的;
    函数内的变量跨函数访问也是无效的。


★ 问题推测:

        听你上面说的情况,你的$username变量应该声明在函数或者类里边,然后从函数外访问;或者声明在函数外,但从函数中进行访问了。


★ 解决方法:

        函数中的变量要想让其全局有效必须得在变量前面加global关键字声明成全局变量才可以在函数以外访问到;同理在函数外声明的函数如果想要在函数中来访问,也要使用global关键字来声明为全局变量。


★关于php变量作用域的示范:

举例有php文件b.php如下:

    function func1(){
        global $a2;
        $a1 = 'var a1 In file b function func1';
        $a2 = 'var a2 In file b function func1';
    }

?>

然后有php文件a.php如下:

    error_reporting(0);    //关闭错误报告
    include('b.php');    //引用b.php
    $a3 = 'var a3 In file a out of function';
    $a4 = 'var a4 In file a out of function';
     
    function func2(){
        global $a5;
        $a5 = 'var a5 In file a function func2';
        $a6 = 'var a6 In file a function func2';
    }       
     
    function func3(){
        echo 'print var $a1 to $a6 in function func3:
';
        var_dump($a1);
        var_dump($a2);
        var_dump($a3);
        var_dump($a4);
        var_dump($a5);
        var_dump($a6);
    }
     
    function func4(){
        echo 'print var $a1 to $a6 in function func4:
';
        global $a1;
        global $a2;
        global $a3;
        global $a4;
        global $a5;
        global $a6;
        var_dump($a1);
        var_dump($a2);
        var_dump($a3);
        var_dump($a4);
        var_dump($a5);
        var_dump($a6);
    }
    
    echo 'print var $a1 $a2 $a5 $a6 in file a:
';
    var_dump($a1);
    var_dump($a2);
    var_dump($a5);
    var_dump($a6);
    func3();
    func4();
     
    func1();
    func2();
     
    echo 'print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2):
';
    var_dump($a1);
    var_dump($a2);
    var_dump($a5);
    var_dump($a6);
    func3();
    func4();
 
?> 
执行a.php后就会输出:
print var $a1 $a2 $a5 $a6 in file a:    
null

null

null

null

print var $a1 to $a6 in function func3:    
null

null

null

null

null

null

print var $a1 to $a6 in function func4:    
null

null

string 'var a3 In file a out of function' (length=32)

string 'var a4 In file a out of function' (length=32)

null

null

print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2):    
null

string 'var a2 In file b function func1' (length=31)

string 'var a5 In file a function func2' (length=31)

null

print var $a1 to $a6 in function func3:    
null

null

null

null

null

null

print var $a1 to $a6 in function func4:    
null

string 'var a2 In file b function func1' (length=31)

string 'var a3 In file a out of function' (length=32)

string 'var a4 In file a out of function' (length=32)

string 'var a5 In file a function func2' (length=31)

null

上面的代码可以让你很好的理解变量作用域的规则。


★ 资料参考

更多的变量作用域资料请参考http://www.php.net/manual/zh/language.variables.scope.php
全部回答
global $username;
设置为全部变量才可以吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
卧室盆栽文竹,仙人球,龟背竹,哪个好,只有
含有春节的四字成语
从北京开车到成都不走秦岭可以吗?还有没有更
跪求80000歌曲原版,谁有下载链接?求奉献
为什么人总会回忆一些曾经不好的事情。难以抹
网赚新手会遇到哪些问题
本人四十九岁生日,办生日酒,向亲朋好友表示
前苏联加加林邮票,值多少钱【有照片】
天籁汽车显示屏上常常卡,或者出现各种操作无
一般生产环境部署需要做哪些工作
圣经中有关信任的人和事
桃江至洞口有多少公里
牛仔裤上面油渍渗到纤维里很长时间了,一直洗
金龙中巴scr和发动机故障灯常闪
最近想开始备孕,在地铁上看见小主APP不知道
推荐资讯
腰疼躺在那床上应该躺什么样的姿势帮助腰部恢
朱希恩这名字打分多少
母亲学佛学偏了,怎么办?母亲貌似现在痴迷佛
上海有没有比格自助餐
小狗眼睛皮周围从黑色变成粉色,是不是有啥问
“山尖全白了,给蓝天镶上一道银边”,不但写
如何将excel表格中的一列(姓名)转到Word中
明德小学(定西漳县)地址在什么地方,我要处理
普陀区地铁在哪?坐一号线去古美西路古方路怎
同事身体接触开玩笑 代表了什么
新城纹秀地址有知道的么?有点事想过去!
西安复读学校哪家好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?