| 
        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 13:00:02 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)