<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Analysis &amp; Solutions wrote:<br>
<blockquote type="cite" cite="mid20030827222205.GA28545@panix.com">
  <pre wrap="">On Wed, Aug 27, 2003 at 05:59:41PM -0400, Chris Snyder wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">if ( isset($foo) ) {
   if ( is_string($foo) &amp;&amp; $foo=='' ) do stuff here
   }
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The is_string() test is unnecessary.  You can just do $foo === ''.

Back to the earlier stage of this discussion, if you're not concerned
about the 0, null or false, you can do this whole thing in one step with
an empty() test.

Again, your style is confusing.  Your bracket is under the second if, even
though it's closing the first if.  Let alone, I (and most style guides)
dislike single line if statements.

I just learned something interesting while confirming stuff:

    $bar = 0;
    if ($bar == '') {
        echo '&lt;br /&gt;bar equals empty';
    }

This comparison will evaluate to true, so the message will be printed.

Weird,

--Dan

  </pre>
</blockquote>
I had to run a quick test myself (not that I doubted anyone :) <br>
<br>
quote " When one argument to a comparison operator is a number, the
other argument is cast to a number." <br>
<br>
so, <br>
<br>
$foo = '';<br>
$bar = (int) $foo;<br>
echo $bar;&nbsp; // displays zero<br>
<br>
John<br>
</body>
</html>