|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11401 conditional for non existant variables returns TRUE
Submitted: 2001-06-11 13:38 UTC Modified: 2001-06-12 03:21 UTC
From: ronen at greyzone dot com Assigned:
Status: Closed Package: Variables related
PHP Version: 4.0.4pl1 OS: Red Hat Linux release 6.1 (Cartm
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: ronen at greyzone dot com
New email:
PHP Version: OS:


 [2001-06-11 13:38 UTC] ronen at greyzone dot com
If there is a conditional on a non-existant (not-set)
variable, it returns an automatic true, instead of an
automatic false.

Examples: (assume that $myVar has never been set)

1. if ($myVar) echo "hello!";  <-- this does echo 'hello'
2. if ($myVar == "42") echo "babel";  <-- this echoes 'babel'
  switch ($myVar) {
    case "42":
      echo "babel";

      echo "fish";

  the above example echoes "babel" (!!).

I am aware that I should actually check for isset ($myVar),
but these examples are all from legacy code that I looked at
and that have suddenly started to produce the opposite
result as desired.  What I have described is still a bug,
since a non existant variable should never return true when
compared to a scalar.

Thanks for your help,

This seems to have appeared with PHP4.04pl1.
Also, I can send you our php.ini file, if needed.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-06-12 03:21 UTC]
I can not reproduce this with PHP 4.0.6RC3.
Please try it out:


 [2001-06-12 03:21 UTC]
I can not reproduce this with PHP 4.0.6RC3.
Please try it out:


PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sat Jul 24 17:01:23 2021 UTC