douman6245 2013-03-13 08:18
浏览 11
已采纳

到函数内的全局变量

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 ?

  • 写回答

2条回答 默认 最新

  • doujiongqin0687 2013-03-13 08:31
    关注

    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
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答