如何在PHP中访问循环范围外的变量值?

如何在PHP中访问循环范围外的变量值?,php,multidimensional-array,for-loop,scope,Php,Multidimensional Array,For Loop,Scope,我遇到了一种情况: 我有一个多维数组,可以打印出路径级别。我想先打印路径 $maxlength = 4; // four levels for($i = 0; $i<count($maxlength); $i++) { $currentpath = $_GET['currentpath'];-----> /abc/def/g $path_level = explode('/',$currentpath); for($j = 0; $j<

我遇到了一种情况:

我有一个多维数组,可以打印出路径级别。我想先打印路径

$maxlength = 4; // four levels

for($i = 0; $i<count($maxlength); $i++)
{
    $currentpath = $_GET['currentpath'];----->        /abc/def/g
    $path_level = explode('/',$currentpath);

    for($j = 0; $j<count($arr[$i]); $j++)
    {
         $temp = getcontentpath($arr[$i][$j]);
    }

    echo"<a href = '?path=$temp&action=abcd'>". $path_level[$i] ."</a>";
}
如何访问for循环范围之外的temp值


提前感谢..

因为我一开始把这个答案搞乱了,让我们试着把它弄清楚。正如在下面的评论中提到的,以及在PHP中提到的,PHP变量大多只有一个作用域,因此,这个问题中的变量$temp应该也可以在for循环之外访问,即使它是在循环内部声明的。因此,问题不在于变量范围


当Prashant自己发现时,问题是函数返回的是空值,因此空$temp

谢谢Christofer。。我得到了它。。这是因为函数返回空值。。我没有得到我要找的…说什么?PHP没有块级别的作用域,$temp在循环之外都是可访问的!与C++/Java不同,PHP的工作方式与您描述的不同。该变量不是循环的专用变量。给定他的原始代码,$temp将在初始化它的行之后的任何位置可用,并且将等于它在循环中最后设置的值。@deceze D'oh。。愚蠢的我!对不起,你当然是对的。我最近一直在使用c和javascript。@JasonMcClellan你说得对,那是个愚蠢的回答。我最近一直在使用c和javascript,所以我甚至没有考虑php的一级作用域。对不起!