参考我之前的问题:在PRADO中显示TDropDownList中的值。 好吧我从查询中收到的数组是一个对象数组,如:
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。
现在任何人都可以帮我转换我需要的数组结构......?
再次感谢
答案 0 :(得分:1)
如果你不在乎钥匙:
array_map(function (ContactRecord $o) { return $o->name; }, $origArray)
否则:
$res = array();
foreach ($origArray as $obj) {
$res[$o->id] = $o->name;
}
答案 1 :(得分:0)
如果我记得很清楚,PHP中的foreach
也适用于对象。尝试以下方法:
$ret = array();
foreach ($object as $val) $ret[] = $val;
另外,您可以在PHP中检索$object->$propertyName
的属性。因此,如果您可以获取属性名称,则只需遍历它们,检索值并将它们推送到数组。
格尔茨
back2dos