ID:               30694
 Updated by:       [EMAIL PROTECTED]
 Reported By:      guth at fiifo dot u-psud dot fr
-Status:           Assigned
+Status:           Wont fix
 Bug Type:         Zend Engine 2 problem
 Operating System: Linux
 PHP Version:      5.0.2
 Assigned To:      andi
 New Comment:

I don't think this is a bug. In general, ZEII makes a much clearer
destinction between objects and arrays. The conversion between them is
still defined for BC reasons. I think defining the conversion to mean
that only public variables will be in the resulting array is fair and
makes sense as array's have no sense of access modifiers *and* it
doesn't break BC as protected doesn't exist in PHP 4.


Previous Comments:
------------------------------------------------------------------------

[2004-11-09 17:16:08] [EMAIL PROTECTED]

Assigning to Andi.
But I'd like to add that using objects as arrays of properties should
be deprecated IMO, as there are plenty of functions respecting scope
(see get_object_vars(), for example) and personally I do not see any
sense in duplicating their functionality.

------------------------------------------------------------------------

[2004-11-05 17:40:36] guth at fiifo dot u-psud dot fr

Description:
------------
Hello, 
 
array_key_exists should return true for protected and 
private vars if the are called from that scope. 
 
Bad english to explain more, so look at the code. 
 
 
Vincent Guth 

Reproduce code:
---------------
<?php

class A {

        protected $b = 'test';
        public $c = 'test';
        
        public function __construct() {

                var_dump(array_key_exists('b', $this));
                var_dump(array_key_exists('c', $this));
        
        }

}

new A;
?>

Expected result:
----------------
bool(true) 
bool(true) 
 

Actual result:
--------------
bool(false) 
bool(true) 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30694&edit=1

Reply via email to