رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
getIterator
#1
درود آقای شهرکی
در پکیج شرح دادید که اگر خواستیم از آرایه بعنوان object استفاده کنیم بدین شکل عمل کنیم :
$a = array(
'Name' => 'Tabesh',
'Family' => 'Rouhani',
'Grade' => 20,
);
$obj = new ArrayObject($a);
$obj->offsetSet('Gender' , 'Male');
$obj->offsetSet('Job' ,'Programmer');
foreach($obj as $key=>$val){
echo $key . ' => ' . $val . '<br/>'.PHP_EOL;
}
خب این کد جواب میدهد . در حالی که در حلقه foreach باید بدین شکل مینوشتم :
foreach($obj->getIterator() as $key=>$val){
echo $key . ' => ' . $val . '<br/>'.PHP_EOL;
}
حالا میخواهم ببینم که این getIterator بود و نبودش در یک حد هست ؟ یا جاهای دیگر کاربرد دارد ؟
انگار که نیستی ، چو هستی خوش باش
حکیم عمر خیام
پاسخ
تشکر شده توسط:
#2
خیر بود و نبودش یکی نیست. فقط کلاسهایی که یک Iterator (از هر نوعی) رو پیاده سازی میکنن چنین متدی رو دارن. ازطرفی PHP برای سادگی کار اومده وقتی از شئ توی foreach استفاده میکنید، خودش بصورت ضمنی getIterator رو صدا میزنه.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان