我很难解决这个问题,有什么帮助吗?
我正在将一些数据传递到循环函数中,并希望将结果返回到原始调用。
仅当在第一个循环中找到结果时此方法才有效,如果该函数再次调用自身,则不会返回任何内容。但是,如果我回显结果,我会发现我有一个匹配项。
function fetchAllOffers () {
/* do a bunch of things */
$result = currentOffer($campaign, $campaignsArray); // <-- return result
if ($result) {
/* do more */
}
}
function currentOffer ($step, $campaigns) {
foreach ($campaigns as $c) {
if (/* an exact match is found */) {
return $c['id'];
}
elseif (/* half match move to next step */) {
currentOffer($c, $campaigns);
}
}
return $c['final']; // if no match found return
}
fetchAllOffers();
您必须currentOffer()
在函数中返回的结果。
function currentOffer ($step, $campaigns)
{
foreach ($campaigns as $c)
{
if (/* a match is found */)
return $c['id'];
else
return currentOffer($c, $campaigns);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句