Bug #14296: Undeclared variables and isset()

From: Date: Fri, 30 Nov 2001 09:15:45 +0000
Subject: Bug #14296: Undeclared variables and isset()
Groups: php.dev 
Request: Send a blank email to php-dev+get-72106@lists.php.net to get a copy of this message
From: v.puttrich@digitalliquid.de Operating system: Win2k PHP version: 4.0.6 PHP Bug Type: Variables related Bug description: Undeclared variables and isset() SYSTEM: I use PHP 4.0.6 on Win2k pro with Apache 1.3.22 win Loaded modules don't seem to make a difference for the described behaviour. DESCRIPION: Let's say we have a PHP script, the retrieves some variables via HTTP post or get. And the variables, passed to the script, have different names each time. Usually we would use "isset($variable)" to check if it exists. In most cases we need to check the content of the variable too. So it would be nice to do that in one step. The script of the following examples retrieved $var1 or $var or both of them via HTTP. EXAMPLE 1: // This would be the usual way i guess if(isset($var1)){ ... } if(isset($var2)){ ... } EXAMPLE 2: // This has been possible with PHP 3.xx - 4.0.5 // without previously checking for existence // of $var1/$var2 if($var1 == "something"){ ... } if($var2 == "anything"){ ... } EXAMPLE 3: // With PHP 4.0.6 we would have to do this: if(!isset($var1)){ // is NOT declared? $var1 = ""; } if(!isset($var2)){ // is NOT declared? $var2 = ""; } // first we had to declare them, now we can use them if($var1 == "something"){ ... } if($var2 == "anything"){ ... } I wonder if this new behaviour is a bug or a feature? Or why can't I find info about it in the changes list if it's a feature? Please send your answer to: v.puttrich@digitalliquid.de Thank you! Volker Puttrich -- Edit bug report at: http://bugs.php.net/?id=14296&edit=1

« previous php.dev (#72106) next »