0

参考我之前的问题:Show values in TDropDownList in PRADO。好的,我从查询中收到的数组是一个对象数组,例如:

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 中。

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

再次感谢

4

2 回答 2

1

如果您不关心密钥:

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

除此以外:

$res = array();
foreach ($origArray as $obj) {
    $res[$o->id] = $o->name;
}
于 2010-05-19T11:57:46.567 回答
0

如果我没记错的话,foreach在 PHP 中也可以使用对象。尝试以下操作:

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

此外,您可以将 PHP 中的属性检索为$object->$propertyName. 因此,如果您可以获取属性名称,您只需遍历它们,检索值并将它们推送到数组中。

问候
back2dos

于 2010-05-19T11:59:16.893 回答