سؤال

يشير إلى سؤالي السابق: إظهار القيم في 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top