I would say the first version is ok but only because your function is small
enough.

If your function gets bigger and bigger, then it is better to have only one
exit point  in terms of readability.

 

Von: talk-boun...@lists.nyphp.org [mailto:talk-boun...@lists.nyphp.org] Im
Auftrag von Joseph Crawford
Gesendet: Freitag, 15. März 2013 22:15
An: NYPHP Talk
Betreff: Re: [nyphp-talk] style question: returning from a function while
you're in a foreach

 

The only reason would be poorly designed code where the return value could
change based on multiple separate conditionals.  I have seen it in some
legacy code.

On Mar 15, 2013 5:50 PM, "Anthony Ferrara" <ircmax...@gmail.com> wrote:
>
> The first is fine. There's no reason not to do it...
>
>
> On Fri, Mar 15, 2013 at 5:30 PM, Joseph Crawford <codeb...@gmail.com>
wrote:
>>
>> There are a few things to learn from here.
>>
>> First it is not only a styling thing.  In the first one you have several
return
>> statements and in the second you only have 1 return statement.
>>
>> It will depend on the code logic but I tend to return when I have the
value I need rather 
>> than assign it to a variable and have it continue to process through the
rest of the function.
>>
>> If you only return after the entire function is complete but your known
case was the first check in
>> the function you are "over" processing and will only add time to your
sites load time.
>>
>> Thanks,
>> Joseph Crawford
>>
>> On Mar 15, 2013, at 5:08 PM, David Mintz wrote:
>>
>>> function whatever(Array $array) {
>>>
>>>     foreach ($array as $key => $value) {
>>>         if  ($something)  {
>>>              return true;
>>>         }
>>>     }
>>>     return false;
>>> }
>>>
>>> Is there any reason  -- style, legibility, whatever -- not to do the
above? Or should you do something like
>>>
>>> function whatever(Array $array)  {
>>>
>>>    $return = false;
>>>     foreach ($array as $key => $value) {
>>>         if  ($something)  {
>>>              $return = true;
>>>              break;
>>>         }
>>>     }
>>>     return $return;
>>> }
>>>
>>> Thanks.
>>>
>>>
>>> -- 
>>> David Mintz
>>> http://davidmintz.org/
>>> Fight for social equality:
>>> http://socialequality.com/
>>>
>>> _______________________________________________
>>> New York PHP User Group Community Talk Mailing List
>>> http://lists.nyphp.org/mailman/listinfo/talk
>>>
>>> http://www.nyphp.org/show-participation
>>
>>
>>
>> _______________________________________________
>> New York PHP User Group Community Talk Mailing List
>> http://lists.nyphp.org/mailman/listinfo/talk
>>
>> http://www.nyphp.org/show-participation
>
>
>
> _______________________________________________
> New York PHP User Group Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> http://www.nyphp.org/show-participation

_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/show-participation

Reply via email to