возврат значения функцией

DinON

Guest
возврат значения функцией

как бы мне так сделать что б вернуть значения из рекурсивной цункции?.

например получить все $var из этой функции:

function f($var)
{
$var++;

echo $var;

if($var>=50)
{
return;
}
f($var);
}
f(0);

мне надо все значений получить в массиве.
может надо массив объявить глобальный в функции и присваивать ему все.? ??? (или через ссылку на массив) ?
 

ForJest

- свежая кровь
Правильно мыслишь. Через ссылку в принципе будет правильнее с точки зрения структуризации программы. Но в принципе - одно...ственно.
 

.des.

Поставил пиво кому надо ;-)
ForJest не учи человека глупостям :) он так и запомнит что ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ и передача по ссылке одно..ственно.
а это не одно...ственно.
передача по ссылке ПРАВИЛЬНОЕ решение!
 

DinON

Guest
а чем тогда отличается сылка от глобальной переменной? ведь по сути глобальная переменная - это тоже есть ссылка на внешнюю перем.?
 

ForJest

- свежая кровь
Нда. Понимаешь если ты передаешь значение по ссылке ты можешь передать любую переменную.
Т.е. вызвать
PHP:
function f(&$vector)
{....}
f($a) 
f($b)
А если ты используешь
PHP:
$a = array();
function f()
{ 
  global $a;
  ....
}
То функция сможет работать только с одним массивом - массивом $a, что есть менее хорошо
 

daima

Новичок
А вот такой код:
<?php
class News
{
private $text;
function __construct($site)
{
/// некоторые действа///

while ($row = mysql_fetch_array($result))
{
$news_name[]=$row['news_name'];
}

}
function news1($news_name)
{/// некоторые действа///}


}

//-------------------------
$a = new News("параметр");

?>

Как вернуть (не прибегая к global) значения массива $news_name из ф-и __construct?
 

Андрейка

Senior pomidor developer
daima
на тебя случайно в библиотеке полка с книжками по ооп не падала?
 

daima

Новичок
Автор оригинала: Андрейка
daima
на тебя случайно в библиотеке полка с книжками по ооп не падала?
Иногда лучше жевать, чем говорить. Нафига тогда форум? Погладим шнурки и потопаем в книжный маг.
 

Андрейка

Senior pomidor developer
>Нафига тогда форум?
в поиск

>Погладим шнурки и потопаем в книжный маг
тока когда будешь вытаскивать книжку "oop for idiots" из стопки - соблюдай меры безопасности воизбежание обрушения конструкции на твою неокрепшую психику... и не жуй ничего - подавицца можно %)
 

phprus

Moderator
Команда форума
Андрейка
Я думаю DinONу твой ответ не пригодится так как тема эта 2002 года.
daima
Прочитай ответ WP.
Кроме того, зачем поднимать такие старые темы?
 

daima

Новичок
Автор оригинала: phprus
Андрейка
Я думаю DinONу твой ответ не пригодится так как тема эта 2002 года.
daima
Прочитай ответ WP.
Кроме того, зачем поднимать такие старые темы?
Типа проблема у меня. Ответ, точнее вопрос, WP мне не ясен. Я выполнил запрос к базе и получил ответы, которые сохраненил в массиве $news_name. Эти значения нужно получить из конструктора чтобы передать другой функции.
 

Андрейка

Senior pomidor developer
daima
сохраняй в глобальном массиве..
ЗЫ. когда на работу устраиваться будешь - не забудь в резюме указать "знание ООП"
 

daima

Новичок
Автор оригинала: Андрейка
>Нафига тогда форум?
в поиск

>Погладим шнурки и потопаем в книжный маг
тока когда будешь вытаскивать книжку "oop for idiots" из стопки - соблюдай меры безопасности воизбежание обрушения конструкции на твою неокрепшую психику... и не жуй ничего - подавицца можно %)
Гы. Как по твоему я эту тему нашел? Праль-но через поиск. Впрочем, я смотрю ты у нас шутник? Для шуток есть ветка http://phpclub.ru/talk/forumdisplay.php?s=&forumid=18. А тут плиз посерьезнее. Я же писал, никаких глобальных переменных
 

phprus

Moderator
Команда форума
daima
Передавай через свойства класса. Если не понимаеш, что это такое то почитай в мануале. Если другая функция - это метод того же класса, то передача через свойства это лучший выход.

Однако я не понимаю зачам использовать ООП в данной задаче, при условии что автор задачи с ним очень мало знаком.
 

Андрейка

Senior pomidor developer
daima
ты неправильно искал - 100%... это уже очень серьезно
искать по слову глобальные переменные - попытка найти аргументы "за" использование твого суперконструктора
 

daima

Новичок
Автор оригинала: phprus
daima
Передавай через свойства класса. Если не понимаеш, что это такое то почитай в мануале. Если другая функция - это метод того же класса, то передача через свойства это лучший выход.
Ессссссс. Наконец-то толковый чел попался! Сенькс. Потереблю мануал, мож что выцеплю.

Автор оригинала: phprus
daima
Однако я не понимаю зачам использовать ООП в данной задаче, при условии что автор задачи с ним очень мало знаком.
[/QUOTE]
Дык без ООП на работу не возьмут. Ковыряю вот
 
Сверху