|
|
|
|
|
для: Front
(08.09.2008 в 10:31)
| | У Вас три цикла. Зачем? Одним не обойтись?
Я не говорю уже про то, что можно обойтись без рекурсии вообще (если интересно, как именно - недавно была тема про удаление поддерева. Там были приведены примеры нерекурсивной работы с деревьями. Только запрос удаления придется убрать :) | |
|
|
|
|
|
|
|
для: Front
(09.09.2008 в 12:38)
| | Наверное, всех ставит в тупик, что после return Вы еще ждёте выполнения какого-то кода.
Кстати, не понятно зачем Вы вообще ввели переменную $lev - не видно никакого смысла. | |
|
|
|
|
|
|
|
для: Front
(08.09.2008 в 10:31)
| | Никто не знает как? | |
|
|
|
|
|
|
|
для: Trianon
(05.09.2008 в 17:38)
| | Записываю в цикле значения переменных в массив, делаю implobe, но в результате возвращается только одно значение - первое и все...
Подскажите, что не так:
function recurs($lev, $cat)
{
$list = array();
$query = "SELECT struct_code FROM structs where struct_parent = '$cat'";
if(($res = mssql_query($query)) != 0)
while(($row = mssql_fetch_assoc($res)) != 0)
$list[] = $row;
mssql_free_result($res);
//$i=0;
foreach($list as $row)
{
$pro[] = $row['struct_code'];
foreach ($pro as $val)
{
$str[] = $val;
$comma_separated = implode(",", $str);
}
return $comma_separated;
recurs($lev+1, $row['struct_code']);
//$i++;
/*
if ($i == 8)
{
break;
}
*/
}
}
|
Спасибо | |
|
|
|
|
|
|
|
для: Front
(05.09.2008 в 15:57)
| | Создайте переменную, приписывайте к ней очередной элемент в цикле.
Её и верните в конце функции. | |
|
|
|
|
|
|
|
для: Trianon
(05.09.2008 в 16:16)
| | Хм... и то верно.
Непонятный код... зачем собирать массив если из него берётся только первое значение? | |
|
|
|
|
|
|
|
для: Valick
(05.09.2008 в 16:11)
| | $list ему не нужен. | |
|
|
|
|
|
|
|
для: Front
(05.09.2008 в 15:57)
| | какую вернуть это вам виднее...
наверное | |
|
|
|
|
|
|
|
для: Trianon
(05.09.2008 в 15:14)
| | Так а как можно вернуть результат функции, я понимаю что это делается операторо return. Но какую переменную из функции ему нужно вернуть? | |
|
|
|
|
|
|
|
для: Front
(05.09.2008 в 15:05)
| | Ваша функция ничего не возвращает. Вообще.
В ней даже оператора return нет.
Соответственно ни о каких результатах функции говорить не приходится.
Она лишь чего-то выводит в поток браузера. Это не результат. Это побочный эффект вызова. | |
|
|
|
|