ID: 34199 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Analyzed -Bug Type: SimpleXML related +Bug Type: Scripting Engine problem Operating System: Any PHP Version: 5CVS-2005-08-20 (CVS) New Comment:
if ($kids) if handled by ZEND_JMPZ_SPEC_CV_HANDLER which ends up calling i_zend_is_true and returning TRUE because $kids is an object. if (! $kids) is handled by ZEND_BOOL_NOT_SPEC_CV_HANDLER which calls convert_to_boolean and ends up calling the objects cast_object handler, which in this case is sxe_object_cast and returns FALSE because object is really empty. Previous Comments: ------------------------------------------------------------------------ [2005-08-20 21:13:15] [EMAIL PROTECTED] Description: ------------ An empty SimpleXMLElement object is both true and false Reproduce code: --------------- $xml = "<root></root>"; $xml = simplexml_load_string($xml); $kids = $xml->children(); if($kids) echo "True"; if(!$kids) echo "False"; Expected result: ---------------- False Actual result: -------------- TrueFalse ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34199&edit=1
