我想遍历php中的一系列匿名函数并像这样调用每个匿名函数:
for ($i = 0; $i < count($headingArray); $i++) {
echo $headingArray[$i];
$callBackFunction = $functionArray[$i]($file);
echo $callBackFunction;
echo $divider;
}
这个想法是,它将显示标题,然后显示从下面每个函数返回的适当数据。
我遇到致命错误:未捕获的错误:函数名称必须是字符串。
是否可以使用for循环索引$ i来调用每个函数,或者只能从数组访问函数时显式传递函数名?
答案 0 :(得分:-1)
<?php
$a = function($n) {
return 'a';
};
$b = function($n) {
return 'b';
};
$functions = [$a, $b];
foreach($functions as $func) {
echo $func('foo'), "\n";
}
输出:
a
b
标题示例(其中匿名函数和标题像键一样共享:
<?php
$functions =
[
function($n) {
return 'a';
},
function($n) {
return 'b';
}
];
$headings =
[
'a heading',
'b heading'
];
foreach($functions as $k => $func) {
echo $headings[$k], "\n", $func('foo'), "\n";
}
输出:
a heading
a
b heading
b