2009-11-26 38 views
2

我写了一个简单的foreach来过滤一个数组并将其结果写入另一个数组。警告“变量似乎没有在其范围内使用”在foreach

foreach ($users as $user) { 
    ... 
    $user_email_list[ ] = $user[ "intranet-id" ][ "value" ]; 
    ... 
} 

问题是,NetBeans被展示我一个警告“变量似乎并不在其范围内使用”上$user。如果我在初始化之前尝试初始化$user,则不会显示警告。但它似乎并不正确。

这是一个NetBeans错误还是我误解了任何东西?

我正在使用NetBeans 6.7.1版(Build 200907230233)和PHP 5.2.10。

+0

代码看起来不错,Aptana IDE不抱怨。 Foreach结构不会在PHP中创建范围。 – 2009-11-26 12:19:59

+0

我刚刚意识到索引[“intranet-id”]和[“value”]是来自表的cols,被解析成不同类中的数组。 NetBeans可能会遇到问题。 – 2009-11-26 14:38:41

回答

3

Netbeans可能会弄错 - 代码似乎没问题。

0

代码对我来说看起来很好,而且我看到Netbeans之前也犯过类似的错误,所以我不担心它。

有趣寿,我只是复制你的代码到NetBeans(我使用的是完全相同的版本和构建),并没有得到警告

+0

您是否启用了这些警告?工具 - >选项 - >编辑 - >提示:检查所有选项。 – 2009-11-26 14:25:26

0

你的代码看起来很好..这种情况经常发生在NetBeans。花一秒钟的时间看看它,并确定它是错误的是我通常做的。有时关闭并重新打开该文件会使NetBeans重新解析文件并将其解决。我也看到重新启动NetBeans,但每次发生这种情况都很痛苦。