指我以前的问题:在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中。

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

再次感谢

有帮助吗?

解决方案

如果您不在乎钥匙:

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

除此以外:

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

其他提示

如果我记得很好, foreach 在PHP中,也可以使用对象。尝试以下操作:

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

另外,您可以在php中检索属性 $object->$propertyName. 。因此,如果您可以掌握属性名称,则只需循环浏览它们,检索值并将它们推到数组。

问候
back2dos

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top