Re: Assignment in Conditional - How are they evaluated?

From: Date: Thu, 29 Oct 2009 14:11:36 +0000
Subject: Re: Assignment in Conditional - How are they evaluated?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-299500@lists.php.net to get a copy of this message
Ashley Sheridan wrote:
On Thu, 2009-10-29 at 13:58 +0000, Mark Skilbeck wrote:
How is the following evaluated: [code] if ($data = somefunc()) ... [/code] Ignoring the 'assignment inside condition' arguments, is the return value of somefunc() assigned to $data, and then $data's value is evaluated (to true or false), or is the actual assignment tested (does the assignment fail, etc)?
I believe that it determines if the return value of somefunc() is non-false. It will have the added benefit then that you can use the return value afterwards if it was, for example, not true, but a string or something instead.
I do this all the time... an example is the following: <?php if( ($user = get_current_user()) ) {
    // Yay, we have a user... do something.
    echo $user->name();
} else {
    // Handle no current user.
    echo 'Anonymous';
} ?> Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP

« previous php.general (#299500) next »