昨天这个功能还可以,我不知道它为什么现在不能返回数组值。
我试图在Xxxx上转储出来的值......结果很完美......但是当我在返回$ dumplinesArray(最后一次返回)之前转储时我只得到第一个数组[0]值...这是传递来自另一个功能...我不知道为什么......任何人都可以指出它吗?
在它返回数组之后,我从另一方面得不到任何东西。这是调用此函数并获取数组值。
function findEntireGroupDownlinesMemberID($downlinesArray, $index)
{
$downlineDB = $this->getDistributorInformation($downlinesArray[$index]);
if ($downlineDB) {
Xxxx
if ($downlineDB->getLeftPositionDistCode()) {
array_push($downlinesArray, $downlineDB->getLeftPositionDistCode());
}
if ($downlineDB->getRightPositionDistCode()) {
array_push($downlinesArray, $downlineDB->getRightPositionDistCode());
}
$index++;
return $this->findEntireGroupDownlinesMemberID($downlinesArray, $index);
}
return $downlinesArray;
}
答案 0 :(得分:0)
如果您需要修改原始$downlinesArray
数组,则需要将其传递给函数by its reference。
您也会收到错误,因为您的代码永远不会到达第二个return语句。检查代码段:
{
if ($downlineDB) { //if this is true, the 2nd return statement will never get executed.
Xxxx
if ($downlineDB->getLeftPositionDistCode()) {
array_push($downlinesArray, $downlineDB->getLeftPositionDistCode());
}
if ($downlineDB->getRightPositionDistCode()) {
array_push($downlinesArray, $downlineDB->getRightPositionDistCode());
}
$index++;
return $this->findEntireGroupDownlinesMemberID($downlinesArray, $index); //function exits here
}
return $downlinesArray;
}
当$downlineDB
评估为假时,你得到的就是预期的第一个数组值array[0]
。