Re: function I created doesn't work
| From: | Jim Lucas | Date: | Fri, 04 Jan 2008 19:52:06 +0000 |
| Subject: | Re: function I created doesn't work | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-266646@lists.php.net to get a copy of this message | ||
afan pasalic wrote:
> Daniel Brown wrote:
>> On Jan 4, 2008 12:52 PM, afan pasalic <afan@afan.net> wrote:
>>> I think you didn't understand my question: I know why the function work
>>> in 2nd example. My question was why I'm not getting the result in 1st
>>> example? What am I doing wrong. And, as far as I know, I think it
>>> doesn't have anything with GLOBALS (register_globals are anyway turned off).
>> Also, keep in mind that, in the else{} clause of the first
>> function, you're not using return; to send back the information. In
>> my opinion, you shouldn't call a function from within its own
>> definition because it can cause a loop if the conditions are met and
>> the else{} clause is reached over and over again. If there is a
>> situation where get_content(0, 0, $index1); doesn't return any rows,
>> the function will loop eternally (that is, until PHP gets dizzy and
>> gives up).
>>
>
> that's "recursive" function and it can call itself (though, you're
> right, if you are not careful you can finish in loop :)).
> and I think I don't need return in "else" statement because the result
> to be send "back" is in "if" statement.
>
> -afan
>
Trust me, you have to return in the else part, otherwise it isn't going to work!
--
Jim Lucas
"Some men are born to greatness, some achieve greatness,
and some have greatness thrust upon them."
Twelfth Night, Act II, Scene V
by William Shakespeare