2009-05-14 16 views
18

के गुणों पर पुनरावृत्त करें मैं php वर्ग के (सार्वजनिक या निजी) गुणों को कैसे पुन: सक्रिय कर सकता हूं?एक php वर्ग

+0

यहां तक ​​कि आप टाइप-कास्ट वस्तुओं: 'var_dump ((सरणी) $ वस्तु);' – Xeoncross

उत्तर

27

टीएल; डॉ;

// iterate public vars of class instance $class 
foreach (get_object_vars($class) as $prop) { 
    echo "$prop\n"; 
} 

व्याख्या:

http://nz.php.net/get_object_vars

class foo { 
    private $a; 
    public $b = 1; 
    public $c; 
    private $d; 
    static $e; 

    public function test() { 
     var_dump(get_object_vars($this)); 
    } 
} 

$test = new foo; 

var_dump(get_object_vars($test)); 

$test->test(); 

?> 

array(2) { 
    ["b"]=> int(1) 
    ["c"]=> NULL 
} 

array(4) { 
    ["a"]=> NULL 
    ["b"]=> int(1) 
    ["c"]=> NULL 
    ["d"]=> NULL 
} 

मेक भावना?

+0

तो मैं क्या कर सकता है एक: foreach (get_object_vars (यह $) $ प्रोप => $ वैल के रूप में) ? –

+2

हां, हालांकि केवल सार्वजनिक वर्र्स प्रदर्शित किए जाएंगे, निजी लोग केवल तब लौटाए जाते हैं जब get_object_vars के कॉलर कक्षा के अंदर होते हैं। – Louis

+0

हाँ, जैसा कि Lou ने कहा, get\_object\_vars वह फ़ंक्शन है जिसकी आपको आवश्यकता है। –

संबंधित मुद्दे