Как вы очищаете статические переменные в PHP?

Я создал функцию, которая использует рекурсия для выяснения детей данного пользователя. как показано ниже :

function recursionFunc($param) {
$q = "select cust_id,amount,position from testtab where parent_id = $param";
$res = mysql_query($q);
static $i = 0;
while ($row = mysql_fetch_assoc($res)) {

$i++;
recursionFunc($row['cust_id']);
}
return array('totalChild'=>$i);

}

Есть два случая:

  1. Я хочу вызвать recursionFunc () для каждого пользователя, которого я имею
  2. Рекурсия будет сделана для того, чтобы найти дочерних элементов пользователя.

Теперь я хочу вызвать эту функцию в цикле while, чтобы получить дочерние элементы всех пользователей, которые у меня есть.
Так как я использую статическую переменную $ я хранить ценность детей.

Теперь, когда функция будет вызываться для первый пользователь возвращает правильное значение childs, но возвращает неправильное значение во всех остальных случаях.

Как показывают ниже

$cutData = "select cust_id from testtab";
$ress = mysql_query($cutData);
while ($raw = mysql_fetch_assoc($ress)) {
$response = recursionFunc($raw['cust_id']);
echo '<pre>'.$raw['cust_id'];
print_r($response);
echo '<br>';
}

Выходы

1Array ( [totalChild] => 7 ) 2Array ( [totalChild] => 10 ) 3Array ( [totalChild] => 12 )

Будет здорово, если ты поможешь мне.

Заранее спасибо.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]