在PHP中更改数组结构

时间:2010-05-19 11:54:48

标签: php prado

参考我之前的问题:在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。

现在任何人都可以帮我转换我需要的数组结构......?

再次感谢

2 个答案:

答案 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