2010-10-25 3 views
2

Comme le suggère le titre, Ma question est de savoir comment je peux convertir une classe PHP en un tableau associatif? Par exemple, j'aiComment convertir un objet en tableau associatif en PHP?

class MyObject { 
    private $size = null; 
    private $length = null; 
    private $width = null; 

    public function getSize(){ 
     return $this->size; 
    } 

    public function setSize($size){ 
     $this->size = $size; 
    } 

    public function getLength(){ 
     return $this->length; 
    } 

    public function setLength($length){ 
     $this->length = $length; 
    } 

    public function getWidth(){ 
     return $this->width; 
    } 

    public function setWidth($width){ 
     $this->width = $width; 
    } 

} 

//Now what i want is following 

$abc = new MyObject(); 
$abc->width = 10; 
$anArray = someFunction($abc); 
//This should generate an associative array 
//Now associative array is accessible 
echo $anArray['width]; // 10 

Répondre

7

Il y a deux façons qui fonctionnent un peu différemment.

Vous pouvez jeter un tableau:

$array = (array)$object; 

il y a un chapitre sur les détails et les effets secondaires in the PHP manual

ou utiliser get_object_vars().

Voir this question sur les différences.

+0

Pouvez-vous définir comment utiliser get_object_vars() pour construire un tableau associatif? –

+0

@Aqeel Désolé si cela vous semble grossier maintenant, mais avez-vous réellement [RTFM] (http://en.wikipedia.org/wiki/RTFM "Lire le manuel f * cking") avant de demander à Pekka de vous donner le code? Si oui, veuillez indiquer ce qui crée des difficultés. – Gordon

+0

@Gordon Désolé, j'ai un peu de confusion, j'ai résolu mes problèmes. Merci. –

Questions connexes