【问题标题】:variables outside loop循环外变量
【发布时间】:2011-06-14 13:49:29
【问题描述】:

我想再次使用所有 $gamename 变量:

foreach($gamelist as $e){
            $chunks = explode('/',$e->nodeValue);
            $gamename = substr($chunks[2],0,-5);
            echo $gamename;
            echo "<br/>";
        }
 getObjects($fullPath,$folder,$gamename)

正如我所见,$gamename 在 foreach 循环之外是未定义的。

【问题讨论】:

  • 我想再次使用所有 $gamename 变量
  • 请查看FAQ如何提问。

标签: php variables loops foreach


【解决方案1】:

根据您的编辑,您需要以下内容:

$gamenames = array();

foreach($gamelist as $e){
            $chunks = explode('/',$e->nodeValue);
            $gamename = substr($chunks[2],0,-5);
            echo $gamename;
            $gamenames[] = $gamename;
            echo "<br/>";
        }

// $gamenames is an array containing all game names
getObjects($fullPath,$folder,$gamenames[0])    // for the first game name

【讨论】:

  • 理解我在说什么的人。谢谢。
  • @George 谢谢,但实际上是您在问题下方的评论做到了。您可能希望将其添加到问题中以消除反对票。
【解决方案2】:

循环外$gamename 有最后一次迭代的值,

undefined,如果循环从未运行($gamelist 为空)

【讨论】:

  • 注意:未定义变量:游戏名
【解决方案3】:

for 循环具有局部作用域,这意味着在其中声明的变量在循环执行之外不存在,如果您想重用 $gamename 变量,您应该在循环外创建它们,请参阅@jeroen 的帖子例子。

【讨论】:

    猜你喜欢
    • 2013-12-03
    • 2020-04-21
    • 1970-01-01
    • 2016-05-06
    • 2023-04-06
    • 1970-01-01
    • 2014-06-15
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多