#40442 [Asn]: The patch I use to correct the issue

From: Date: Tue, 27 Feb 2007 10:10:42 +0000
Subject: #40442 [Asn]: The patch I use to correct the issue
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-109630@lists.php.net to get a copy of this message
ID: 40442 User updated by: olivier at elma dot fr -Summary: ArrayObject::offsetExists does not return a valid result Reported By: olivier at elma dot fr Status: Assigned Bug Type: SPL related Operating System: Debian Unstable (not relevant) PHP Version: 5.2.1 Assigned To: helly New Comment: Just to add the "quick and dirty" patch I use to correct the issue: --- php-5.2.1/ext/spl/was.spl_array.c 2007-02-09 12:10:18.000000000 +0100 +++ new.php-5.2.1/ext/spl/spl_array.c 2007-02-09 12:06:33.000000000 +0100 @@ -525,7 +525,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &index) == FAILURE) { return; } - RETURN_BOOL(spl_array_has_dimension_ex(0, getThis(), index, 1 TSRMLS_CC)); + RETURN_BOOL(spl_array_has_dimension_ex(0, getThis(), index, 0 TSRMLS_CC)); } /* }}} */ /* {{{ proto mixed ArrayObject::offsetGet(mixed $index) Previous Comments: ------------------------------------------------------------------------ [2007-02-12 09:10:23] olivier at elma dot fr Description: ------------ With 5.2.0 ArrayObject::offsetExists will return "true" if the offsetExists whether its value is empty or not. This feature is not working anymore with 5.2.1 as it checks for the emptyness of the value too. Reproduce code: --------------- <?php $a = new ArrayObject(); $a->offsetSet('property', 0); if (!$a->offsetExists('property')) { echo "does not exist\n"; } else { echo "ok\n"; } ?> Expected result: ---------------- ok Actual result: -------------- does not exist ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40442&edit=1

« previous php.bugs (#109630) next »