Modifier la structure du tableau en PHP
Question
fait référence à ma question précédente: Afficher les valeurs dans TDropDownList PRADO. ok bien la matrice i reçois de requête est un tableau d'objets comme:
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 comme je le convertir pour tableau:
Array ( [key 1] => leo [key 2] => ganda )
alors je peux remplir des valeurs dans TDropDownList.
peut aider quelqu'un me convertir à la structure du tableau que je besoin ...?
Encore une fois merci
La solution
Si vous ne vous souciez pas les clés:
array_map(function (ContactRecord $o) { return $o->name; }, $origArray)
Dans le cas contraire:
$res = array();
foreach ($origArray as $obj) {
$res[$o->id] = $o->name;
}
Autres conseils
Si je me souviens bien, foreach
en PHP fonctionne avec des objets aussi bien. essayez ce qui suit:
$ret = array();
foreach ($object as $val) $ret[] = $val;
Vous pouvez également récupérer une propriété en PHP comme $object->$propertyName
. donc si vous pouvez saisir les noms de propriété, vous venez de boucle à travers eux, récupérer les valeurs et les pousser à un tableau.
greetz
back2dos