|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
Patches31Jan2011_50813.diff_zend_object_handlers.c (last revision 2011-02-01 06:53 UTC by mjk at emmjaykay dot org)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-01-21 09:59 UTC] jani@php.net
[2010-01-21 12:03 UTC] marc dot bennewitz at giata dot de
[2011-02-01 07:55 UTC] mjk at emmjaykay dot org
[2011-02-01 08:40 UTC] mjk at emmjaykay dot org
[2016-03-26 11:17 UTC] nikic@php.net
-Status: Verified
+Status: Closed
-Assigned To:
+Assigned To: nikic
[2016-03-26 11:17 UTC] nikic@php.net
[2016-05-04 23:15 UTC] sm0ke999 at yandex dot ru
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Nov 04 18:00:01 2025 UTC |
Description: ------------ On testing if an array key is available on an overloaded object variable it doesn't check __isset before calling __get to get the variable for checking the array key. Reproduce code: --------------- class MyClass { public function __isset($varname) { echo 'isset' . PHP_EOL; return false; } public function __get($varname) { trigger_error('Key "' . $varname . '" does not exist', E_USER_NOTICE); } } $obj = new MyClass(); var_dump( isset($obj->test[0]) ); Expected result: ---------------- isset bool(false) Actual result: -------------- PHP Notice: Key "test" does not exist in /tmp/test.php on line 14 Notice: Key "test" does not exist in /tmp/test.php on line 14 bool(false)