From: grant dot kidd at gmail dot com Operating system: Linux PHP version: 5.2.5 PHP Bug Type: Feature/Change Request Bug description: Support for a method method to determine the 'emptiness' of an object
Description: ------------ I've noticed that there is no method for determining if an object is 'false' in the same way that an empty array is equivalent to false. Although the countables interface would be helpful for implementing a feature mimicing array, having a magic method '__isEmpty' would be best for anyone who wants to control the 'emptiness' of an object. This is a suggestion to implement a magic method to determine the true/false value of an object (in the same way a string or int or array can be true or false) Reproduce code: --------------- class Something { var $data; public function __construct($data = null) { if ($data) { $this->data = $data; } } public function __isEmpty() { return isset($this->data); } } $something = new Something(); if (!$something) { echo "huzzah, the magic method works!" } Expected result: ---------------- huzzah, the magic method works! -- Edit bug report at http://bugs.php.net/?id=43909&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43909&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43909&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43909&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43909&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43909&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43909&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43909&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=43909&r=needscript Try newer version: http://bugs.php.net/fix.php?id=43909&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43909&r=support Expected behavior: http://bugs.php.net/fix.php?id=43909&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43909&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43909&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43909&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43909&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43909&r=dst IIS Stability: http://bugs.php.net/fix.php?id=43909&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43909&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43909&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43909&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=43909&r=mysqlcfg