Cambiamento struttura a matrice in PHP
Domanda
Si riferisce alla mia domanda precedente: Mostra valori in TDropDownList a Prado. ok fine la matrice ricevo da query è un array oggetto come:
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 ( ) )
Se converto in a serie come:
Array ( [key 1] => leo [key 2] => ganda )
allora posso compilare i valori in TDropDownList.
Ora qualcuno può aiutarmi a convertire struttura a matrice, che mi serve ...?
Sempre grazie
Soluzione
Se non si preoccupano delle chiavi:
array_map(function (ContactRecord $o) { return $o->name; }, $origArray)
In caso contrario:
$res = array();
foreach ($origArray as $obj) {
$res[$o->id] = $o->name;
}
Altri suggerimenti
Se non ricordo male, foreach
in PHP funziona con gli oggetti pure. provare quanto segue:
$ret = array();
foreach ($object as $val) $ret[] = $val;
Inoltre, è possibile recuperare un immobile in PHP come $object->$propertyName
. quindi se si può entrare in possesso dei nomi di proprietà, basta ciclo attraverso di loro, recuperare i valori e spingerli ad un array.
greetz
back2dos