到函数内部的全局变量 [英] to Global Variables inside functions

查看:124
本文介绍了到函数内部的全局变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对函数内部的全局变量有问题

 <?php 
function main(){
$ var =我的变数;
function sub(){
GLOBAL $ var;
echo $ var; //将显示我的变量
}
sub();
echo $ var; //将显示我的变量
}
main();
sub(); //不会显示,我会sub()不能使用外部main()函数
?>




  1. 我只想全局 $ var 内部子函数

  2. sub() main() / code>函数

使用 GLOBAL 不知道如果我明白你想要什么,但你的 $ var 不是全局的。它的一个局部变量main()



变量只是全局变量,如果你在函数或类之外声明它。

 <?php 
$ var =My Variable; //创建$ var全局
函数main(){
//删除$ var here
function sub(){
global $ var;
echo $ var; //将显示我的变量
}
sub();
echo $ var; //将抛出通知:未定义变量:var
}
main();
sub(); //将显示我的变量
?>

为什么要在方法中声明一个方法来从那里调用它?



也许像这样的东西就是你想要的...

 <?php 
// $ var =我的变量;
函数main(){
$ var =我的变量;
$ sub = function($ var){
echosub:。$ var; //将显示sub:My Variable
};
$ sub($ var);
echomain:。$ var; //将显示main:My Variable
}
main();
// sub(); //不会工作
// $ sub(); //不会工作
?>


I have problem to Global Variables inside functions

<?php
    function main(){
        $var = "My Variable";
        function sub() {
            GLOBAL $var;
            echo $var; // Will show "My Variable"
        }
        sub();
        echo $var; // Will show "My Variable" 
    }
    main();
    sub(); // Will not show and I will sub() cant use outside main() function
?>

  1. I just want to global $var inside sub functions
  2. sub() will not work outside main() function

I tied to use GLOBAL but it show nothing ... Any ?

解决方案

Not sure if i understand what you want, but your $var is not global. its a local variable inside main()

a variable is only global, if you declare it outside of a function or class.

<?php
    $var = "My Variable"; // made $var global
    function main(){
        //removed $var here
        function sub() {
            global $var;
            echo $var; // Will show "My Variable"
        }
        sub();
        echo $var; // Will throw notice:  Undefined variable: var
    }
    main();
    sub(); // Will show "My Variable"
?>

why would you declare a method inside a method to call it from there?

maybe something like this is what you want...

<?php
   //$var = "My Variable";
    function main(){
        $var = "My Variable";
        $sub = function($var) {
            echo "sub: ".$var; // Will show "sub: My Variable"
        };
        $sub($var);
        echo "main: ".$var; //  Will show "main: My Variable"
    }
    main();
    // sub(); // Will not work
    // $sub(); // Will not work
?>

这篇关于到函数内部的全局变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆