2010-05-19 55 views
0

引用我之前的问题:在PRADO中显示TDropDownList中的值。 确定细i。从查询接收阵列是一个对象数组等:在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 ()) 

如果我将其转换到阵列等:

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

然后我可以填充值插入TDropDownList。

现在谁能帮我转换我需要的数组结构...?

再次感谢

回答

1

如果你不关心键:

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

否则:

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

如果我记得很清楚,在foreach PHP处理对象,也是如此。请尝试以下操作:

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

此外,您还可以在PHP中检索一个属性为$object->$propertyName。所以如果你可以获得属性名称,只需循环遍历它们,检索值并将它们推送到一个数组。

格尔茨
back2dos