ID: 24436 Comment by: Nico dot Laus dot 2001 at gmx dot de Reported By: Nico dot Laus dot 2002 at gmx dot de Status: Open Bug Type: Zend Engine 2 problem Operating System: WinXP SP1 PHP Version: 5CVS-2003-07-01 (dev) New Comment:
same with me - I had the same output with your code and btw: I haven't found any setting for this in php.ini Previous Comments: ------------------------------------------------------------------------ [2003-07-01 09:43:09] postings-php-bug at hans-spath dot de This is really weird: ===> CODE 1 <=== <? error_reporting( E_ALL ); define( 'N', "\n" ); class test { function test() { echo "test\n"; if( empty($this->a[0][0]) ) echo 'empty($this->a[0][0])', N; if( empty($this->a[0]) ) echo 'empty($this->a[0])', N; if( empty($this->a) ) echo 'empty($this->a)', N; if( ! isset($this->a) ) echo 'isset($this->a)', N; if( ! isset($this->a[0]) ) echo 'isset($this->a[0])', N; if( ! isset($this->a[0][0]) ) echo 'isset($this->a[0][0])', N; } } $x = new test(); ===> OUTPUT (CODE 1) <=== test empty($this->a[0][0]) empty($this->a[0]) empty($this->a) isset($this->a) isset($this->a[0]) isset($this->a[0][0]) ===> CODE 2 <=== <? error_reporting( E_ALL ); define( 'N', "\n" ); class test { function test() { echo "test\n"; if( empty($this->a[0][0]) ) echo 'empty($this->a[0][0])', N; // if( empty($this->a[0]) ) echo 'empty($this->a[0])', N; // if( empty($this->a) ) echo 'empty($this->a)', N; // if( ! isset($this->a) ) echo 'isset($this->a)', N; // if( ! isset($this->a[0]) ) echo 'isset($this->a[0])', N; if( ! isset($this->a[0][0]) ) echo 'isset($this->a[0][0])', N; } } $x = new test(); ===> OUTPUT (CODE 2) <=== PHP Notice: Undefined property: test::$a in M:\php\test.php on line 8 PHP Notice: Undefined property: test::$a in M:\php\test.php on line 13 test <br /> <b>Notice</b>: Undefined property: test::$a in <b>M:\php\test.php</b> on line <b>8</b><br /> empty($this->a[0][0]) <br /> <b>Notice</b>: Undefined property: test::$a in <b>M:\php\test.php</b> on line <b>13</b><br /> isset($this->a[0][0]) ===> PHP Version <=== PHP 5.0.0b2-dev (cgi-fcgi) (built: Jul 1 2003 12:10:02) Copyright (c) 1997-2003 The PHP Group Zend Engine v2.0.0-dev, Copyright (c) 1998-2003 Zend Technologies ------------------------------------------------------------------------ [2003-07-01 09:40:12] Nico dot Laus dot 2001 at gmx dot de hmmm, I will check my php.ini, maybe I can configure my php in the way yours is, that no such errors are displayed (this is what I want) -> I'll let you know whether I can change this with php.ini or it is really a bug ;) ------------------------------------------------------------------------ [2003-07-01 09:29:43] [EMAIL PROTECTED] Ah, no, that was my fault, it gives errors now. But no errors *at all* with this: <?php error_reporting(E_ALL); class test { function __construct() { if (empty($this->test[0][0])) { print "test1\n";} if (!isset($this->test[0][0])) { print "test2\n";} if (empty($this->test)) { print "test1\n";} if (!isset($this->test)) { print "test2\n";} } } $test1 = new test(); ?> Here it should have given 3 errors, for both the [0][0] ones, and the empty($this->test) one. ------------------------------------------------------------------------ [2003-07-01 09:25:03] Nico dot Laus dot 2001 at gmx dot de is your error_reporting set to E_ALL? -> then it should display them, too of course I can disable showing NOTICE-errors, but I'll better show/log them to find possible bugs ------------------------------------------------------------------------ [2003-07-01 09:06:24] [EMAIL PROTECTED] It's weird though... I can't get it to show errors at all here anyway... ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/24436 -- Edit this bug report at http://bugs.php.net/?id=24436&edit=1