E_NOTICE: http://www.php.net/manual/en/phpdevel-errors.php#internal.e-notice http://www.php.net/manual/en/configuration.php#ini.error-reporting
The following won't create a E_NOTICE level error when $var is not set: if (isset($var) && $var == 'foo') { echo 'I Love to foo'; } Could also use a @ but it's not as cool imho :) if (@$var == 'foo') { echo 'I love to foo'; } So as suggested, this depends on your particular settings. Also see the error_reporting() function. regards, Philip Olson On 30 Nov 2001 [EMAIL PROTECTED] wrote: > ID: 14296 > Updated by: hholzgra > Reported By: [EMAIL PROTECTED] > Old Status: Open > Status: Feedback > Bug Type: Variables related > Operating System: Win2k > PHP Version: 4.0.6 > New Comment: > > looks like you have set error_reporting to E_ALL > while you had E_ALL & ~E_NOTICE before? > > maybe by using php.ini-recommended as template > for php.ini with 4.0.6 while using php.ini-dist > for the former versions? > > Previous Comments: > ------------------------------------------------------------------------ > > [2001-11-30 04:15:44] [EMAIL PROTECTED] > > > 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: [EMAIL PROTECTED] > > Thank you! > > Volker Puttrich > > > ------------------------------------------------------------------------ > > > > Edit this bug report at http://bugs.php.net/?id=14296&edit=1 > > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]