提问人:Aaron 提问时间:3/19/2011 最后编辑:Aaron 更新时间:12/28/2011 访问量:2027
foreach 数组函数存储在变量中?
foreach array function storing in a variable?
问:
$numbers = array('1','2');
$numberlist = foreach($numbers as $number) {
echo $number;
}
正如你所看到的,我正在尝试做什么,它不起作用,有没有其他方法可以将 foreach 函数存储为变量?
答:
5赞
Kevin Peno
3/19/2011
#1
$numberList = function( $input )
{
foreach( $input as $v )
echo $v;
};
$numberList( $numbers );
参见 PHP Anon
注意:匿名函数从 PHP 5.3.0 开始可用。
(该函数应使用大写字母 L $numberList,以便正常工作。
评论
1赞
Naftali
3/19/2011
这仅在您拥有最新版本的 PHP (5.3.x) 时才有效
0赞
Aaron
3/19/2011
我正在使用 5.3.5;我使用了您给我的示例,但变量似乎没有输出?
1赞
Kevin Peno
3/19/2011
@Matthew,我假设您在调用匿名函数时传入了一个数组(参见示例的最后一行)?此外,该数组应仅包含字符串或数字。数组、布尔值和 null 值不能打印任何:P
1赞
Matteo Riva
3/19/2011
#2
如果您尝试在变量中存储对 foreach 循环的代码引用,则无法做到这一点:循环不是函数。$numberlist
如果你想要一个可以循环的对象,你需要构建一个中间器。如果是这种情况,我建议你看看标准PHP库。
1赞
Mala
3/19/2011
#3
我认为Matthew试图做的是将函数存储在PHP的变量中。我认为这个链接就是你要找的:
评论
$