Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> return в рекурсивной функции 
:(
    Опции темы
z006
Дата 2.7.2012, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



день добрый.долго ломал голову,гуглил,но вразумительного ответа так и не увидел.

имеем ф-цию:
Код

static function get_parent_kat($this_kat,$kat_array)
       {
        $list_result = db_query("SELECT id,name FROM ***** WHERE id=(SELECT p_id FROM ***** WHERE id=".$this_kat.")");
        if (mysql_num_rows($list_result) > 0)
         {
         echo "pfff";
          $list_row=mysql_fetch_array($list_result);
         echo $list_row['id'];
          $kat_array[]=array('id'=>$list_row['id'],'name'=>$list_row['name']);
          centr_page::get_parent_kat($list_row['id'],$kat_array);
         }
        else
         {
          $reversed=array_reverse($kat_array);
          /*
                  $send_back='';
          for ($y=0;$y<count($reversed);$y++)
           {
            $send_back.="<a href='/goods/".$reversed[$y]['id']."' class='def_link_list' style='text-decoration:none;font-weight:bold;'>".$reversed[$y]['name']."</a>→";
           }
          $send_back=substr($send_back,0,strlen($send_back)-7);
          */
          echo "блять!";
          return "345";
          echo "ояебу!";
         }
      }


всё это вызываем так:

Код

$kat_array=array();
$kat_array[]=array('id'=>$kategory,'name'=>$place_row['n1']);
$its=centr_page::get_parent_kat($kategory,$kat_array);
echo $its;


в данном случае получаем на вывод 
Цитата

pfff5###
 потому как в первый вызов $kategory=25,а для него p_id=5,но не выводит "345"!!!
если убрать мои гневные "точки проверки" smile ,и написать нормально
Код

$send_back=substr($send_back,0,strlen($send_back)-7);
return $send_back;

то вообще ничего не выводит,а если написать 
Код

$send_back=substr($send_back,0,strlen($send_back)-7);
echo $send_back;

то выведет код как и положено,но в месте вызова ф-ции,что логично.мне-же надо в определенном месте показать результат выполнения ф-ции,что опять-таки логично,согласитесь?
итак,резюмирую:в рекурсивной ф-ции не возвращает значение по return но возвращает по echo.где я накосячил?

Добавлено @ 02:40
всё,я допер.всё элементарное-простынь))))

Это сообщение отредактировал(а) z006 - 2.7.2012, 02:40
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.