2011-03-18 52 views
2
$numbers = array('1','2'); 
$numberlist = foreach($numbers as $number) { 
     echo $number; 
} 

正如你可以看到我想做的事情不工作是否有任何其他方式来存储一个foreach函数作为变量?foreach数组函数存储在一个变量?

+2

究竟是你想做些什么? – 2011-03-18 17:08:34

+0

是否在回声中有'$'问题?因为这不起作用:) – Nanne 2011-03-18 17:15:06

+1

我认为马修试图将一个过程或函数存储到变量中。但对于初学者,您需要删除'echo'前面的$。然后看到 – Mala 2011-03-18 17:15:15

回答

5
$numberList = function($input) 
{ 
    foreach($input as $v) 
     echo $v; 
}; 

$numberList($numbers); 

PHP Anon

注:匿名函数可用,因为PHP 5.3.0。

(该功能应该是在为了使它正常工作一个大写L $ numberList。)

+1

这只适用于如果你有最新版本的PHP(5.3.x) – Neal 2011-03-18 17:14:09

+1

已更新为具体;) – 2011-03-18 17:15:12

+0

我正在使用5.3.5; 我用你给我的例子,变量似乎不是输出? – Aaron 2011-03-18 17:24:45

1

如果你想存储的代码参照该$numberlist变量foreach循环,即不能完成:循环不是函数。

如果你想要一个可以循环的对象,你需要构建一个interator。如果是这种情况,我建议你看看Standard PHP Library