Looking for caveats to the following code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

While experimenting with some object stuff I stumbled upon something new
(although not object related).

Normally I would do this:

<?php

function do_something($input)
{
  if($input == 'hello')
  {
    return $input;
  }
  else
  {
    return false;
  }
}

$result = do_something('hello');

if($result !== false)
{
  // do something with $result
}
else
{
  // do some other stuff
}

?>


Using the same function above I discovered I can do this:

<?php

if($result = do_something('hello'))
{
  // do something with $result
}
else
{
  // do some other stuff
}

?>

The issue is whether or not this is a safe test. My initial thought is
that it is safe since I'm simply checking for true/false-ness. I either
check for '!== false' explicitly or (in the case of the latter example)
check that something other than 'false' is returned.

It's slightly less readable but it seems more efficient (if nothing more
than to save on the number of lines typed).

Thoughts?


Chris.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux