2012/5/3 Lester Caine <les...@lsces.co.uk>:
> Anthony Ferrara wrote:
>>
>> I voted for the ability to use an expression for isset() as well,
>> since I agree with Ferenc, it's a matter of consistency.  Sure, the
>> use-case for isset() is definitely weaker than for empty(), but at the
>> same token they are definitely related...
>
>
> I just can't help feeling that it is the wrong use of both. If the function
> is returning a value, then it's returning a value that needs to be used
> somewhere so the work flow handles that. If the function returns nothing
> instead that just seems wrong and needs to be handled better. I'm used to
> getting back 'false' if the function failed and just check for that so why
> would there be any logical reason for using isset or empty to check a
> function return?

Use case:

// Function definition:
function getFriends()
{
    // SQL SELECT or Fetching from XML or Fetching from LDAP or ...
    return $resultsAsArray;
}

// Looping on results:
foreach ( getFriends() as $friend )
{
    echo $friend["name"], "\n";
}

// Case where the results are actually not iterated:
$amIAssocial = empty( getFriends() );

1. It it not wrong to return "nothing", like empty sets (empty
arrays), it is a valid case.
2. Returning "false" in the case there is no "results" would be a bad
idea: not only you would have to put a condition in the function
definition, but you would also require all iterations (e.g. foreach)
to be encapsulated in a condition statement to prevent looping on
"false".

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to