ID: 46614 Updated by: [EMAIL PROTECTED] -Summary: Extended MySQLi class gives incorrect empty() result Reported By: sander dot vink at procurios dot nl -Status: Open +Status: Assigned Bug Type: MySQLi related -Operating System: Mac OS X 10.5.5 +Operating System: * PHP Version: 5.3CVS-2008-11-19 (snap) -Assigned To: +Assigned To: mysql New Comment:
Ah, I tested with PHP 5.2CVS and it works as expected. So this is PHP_5_3 (and propably HEAD) issue only. Previous Comments: ------------------------------------------------------------------------ [2008-11-20 08:14:13] sander dot vink at procurios dot nl Yes, exactly, it is not empty. However, I return the result of empty() ( not !empty() ) which should be false, since the array actually contains data. ------------------------------------------------------------------------ [2008-11-19 23:12:58] [EMAIL PROTECTED] You set $this->fooData[]to contain 'Bar' -> it's not empty -> returns true..what's the bug..? ------------------------------------------------------------------------ [2008-11-19 13:25:11] sander dot vink at procurios dot nl Description: ------------ When an empty() call is done within a class that extends the MySQLi class, an incorrect result is provided. Reproduce code: --------------- class Foo extends MySQLi { protected $fooData = array(); public function isEmpty() { $this->fooData[] = 'Bar'; return empty($this->fooData); } } $Foo = new Foo('localhost', 'root', '', 'test'); $isEmpty = $Foo->isEmpty(); var_dump($isEmpty); Expected result: ---------------- bool(false) Actual result: -------------- bool(true) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46614&edit=1