2013-07-25 35 views
0

实施例PHP:如何从另一个函数的函数中获取变量?

function a(){ 
    $num = 1; 

    function b(){ 
     echo $num; // how to get $num value? 
    } 
} 

在这种情况下global不工作,因为$num不是全局变量。

+0

请问你为什么决定来定义嵌套函数? –

+1

你不行。 PHP只有两个范围。当前函数范围和全局范围。你不能从中间范围访问某些东西,除非你将它作为参数传递。 –

回答

-3

您可以使用S_SESSION来获取变量?

function a(){ 
    $_SESSION['num'] = 1; 

    function b(){ 
     echo $_SESSION['num']; 
    } 
} 

不确定嵌套函数是顺便去btw的方式。

+0

我不推荐使用这个会话。如果你继续这样做,它会使SESSION var变得非常大,而完全可以接受(甚至可能是beter)方法。 – Martijn

+0

这是真的,但代码示例非常小,这是我唯一发生的事情。 – Morsok

2
function a() { 
    $num = 1; 
    function b($num) { 
     echo $num; 
    }; 
    b($num); 
} 
a(); 
+0

第一soultion,符合该问题... *竖起大拇指* –

+0

函数内部功能。这可能不是最好的主意。我将不得不获得关于此的一些信息,即时通讯不知道这是一个“最佳实践” 编辑:我发现这一点:http://stackoverflow.com/questions/415969/what-are-php-嵌套函数换 – Martijn

+0

如果计划是始终调用b()从内的(),匿名函数是一个精细的解决方案。 –

相关问题