سؤال
يشير إلى سؤالي السابق: إظهار القيم في 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 AS $object->$propertyName
. لذا ، إذا تمكنت من الحصول على أسماء العقارات ، فأنت مجرد حلقة من خلالها واسترداد القيم ودفعها إلى صفيف.
هجيت
Back2dos
لا تنتمي إلى StackOverflow