|  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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
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: Mon Sep 20 04:03:36 2021 UTC