$tree = R::findOne('users', 'id = 1');
$parentid = 0;
function check_node($x){
global $parentid;
global $choosenbranch;
$right = R::findOne('users', 'parentid = ? AND branch = 1', array($x));
if($right){
$choosenbranch = 0;
check_node($right->id);
}else{
$parentid = $x;
}
$left = R::findOne('users', 'parentid = ? AND branch = 0', array($x));
if($left){
$choosenbranch = 1;
check_node($left->id);
}else{
$parentid = $x;
}
}
check_node($tree->id);
echo $parentid;
echo '<br>';
echo $choosenbranch;
есть дерево
$parentid
должен быть равен 3, т. к. там есть свободное и правое и левое место (заполнение справа налево), но он выбирает 4, почему так, где ошибка в логике?