0
所以每个成员都有一个intro_id,代表引用成员的人的用户名。如果成员2被成员1转介,成员2s intro_id将为1.停止中间循环的PHP递归函数
我基本上是要“计数”每个裁判,多个级别的深度。第一级是直接引荐,第二级是第一级引用引荐的引荐。
到目前为止的代码:
function countReferrals($userid, $i){
if($userid=='')
{
$userid=$_SESSION['member_id'];
}
if($i=='' || empty($i))
{
$i=0;
}
$query1 = new Bin_Query();
$sql = "select member_id from members where intro_id='".$userid."'";
$query1->executeQuery($sql);
$level1Refs = $query1->records;
foreach($level1Refs as $refer)
{
$i=$i+1;
echo "<script>console.log('Debug Objects | countReferrals | \$i = ".$i." | \$refer[member_id] = ".$refer['member_id']." ');</script>";
self::countReferrals($refer['member_id'], $i);
}
}
这个最大输出页数($ i)为在150左右有时149,146,...第一级转介是400+有的在第二个层次。所以它在每次裁判之前都明确停止,但为什么?
如果我删除
self::countReferrals($refer['member_id'], $i);
它计数所有1级裁判。但我也想从其他级别参考。
已尝试从php.ini中扩展内存限制? – num8er
请缩进您的代码。 –
调试101:格式化您的代码。如果格式不正确,缩进等情况,请遵循您的代码非常粗糙。 –