2010-05-19 4 views
0

이전 질문 : PRADO의 TDropDownList에 값을 표시합니다. 내가 좋아하는 배열로 변환하면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

내가 잘 기억한다면, PHP에서 foreach뿐만 아니라 객체와 함께 작동합니다. 다음 사항을 확인하시기 바랍니다

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

또한, 당신이 $object->$propertyName로 PHP의 속성을 검색 할 수 있습니다. 그래서 당신이 속성 이름을 얻을 수 있다면, 당신은 그냥 루프를 통해 값을 검색하고 배열로 밀어.

greetz
back2dos