저는 MLM (다중 레벨 마케팅) 응용 프로그램을 작성했습니다. 다음은 초기 단계에서 작성하고 올바르게 작동하는 재귀 함수의 코드 스 니펫 (전체 코드 아님)입니다. 하지만 이제는 MLM 트리가 너무 깊어서 재귀 함수가 멈 춥니 다. 최대 중첩 수준을 초과했습니다. 중첩 기능 호출 수준을 몇 번 늘렸으나 올바른 솔루션이 아니라는 것을 알고 나면 더 많은 기능 호출 수준을 늘리고 싶지 않습니다.재귀 함수 대신
이 사람이 저에 대한 대체 코드를 (반복 될 수있다) 제안 할 수 있습니까?
<?php
function findallpairs($username, $totalusers= 0)
{
$sql = "select username,package_id from tbl_user where
parent_id = '".$username."' order by username";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_array($result))
{
$username = $row["username"];
$totalusers++;
$arrtmp = findallpairs($username, $totalusers);
$totalusers = $arrtmp["totalusers"];
}
}
$arrpoints["totalusers"] = $totalusers;
return $arrpoints;
}
?>
참고 : 원본 코드가 너무 크지 만 여기서 논리의 중요한 부분을 붙여 넣었습니다. 나는이에 대한 대체 솔루션을 찾을 경우
그것은 나에게 큰 도움이 될 것입니다.
미리 감사드립니다.
감사합니다. 그것은 나를 위해 일했다 :) – Vivek