2010-05-19 8 views
0

Fait référence à ma question précédente: Afficher les valeurs dans TDropDownList dans PRADO. bien ok le tableau que je reçois de requête est un tableau d'objets comme:Modifier la structure de tableau en PHP

ContactRecord Object ([id] => 1 [name] => leo [_recordState:protected] => 1 [_connection:protected] => [_invalidFinderResult:protected] => [_e:TComponent:private] => Array ()) 
ContactRecord Object ([id] => 2 [name] => ganda [_recordState:protected] => 1 [_connection:protected] => [_invalidFinderResult:protected] => [_e:TComponent:private] => Array ()) 

Si je le convertir pour tableau comme:

Array ([key 1] => leo [key 2] => ganda) 

alors je peux remplir des valeurs dans TDropDownList.

Maintenant, quelqu'un peut-il m'aider à convertir la structure de tableau dont j'ai besoin ...?

Encore une fois merci

Répondre

1

Si vous ne vous souciez pas les clés:

array_map(function (ContactRecord $o) { return $o->name; }, $origArray) 

Sinon:

$res = array(); 
foreach ($origArray as $obj) { 
    $res[$o->id] = $o->name; 
} 
0

Si je me souviens bien, foreach en PHP fonctionne avec des objets aussi bien. procédez comme suit:

$ret = array(); 
foreach ($object as $val) $ret[] = $val; 

aussi, vous pouvez récupérer une propriété en PHP comme $object->$propertyName. Donc, si vous pouvez obtenir les noms des propriétés, vous n'avez qu'à les parcourir, récupérer les valeurs et les pousser dans un tableau.

greetz
back2dos