توابع مولد
شنبه, ۱۱ ارديبهشت ۱۳۹۵، ۱۱:۳۸ ب.ظ
تابع مولد چیست؟
توابع مولد خیلی شبیه توابعی هستند که نتیجه آنها یک آرایه است. با این تفاوت که تابع مولد دنباله ای از مقادیر تولید می کند.
در تابع مولد به جای استفاده از کلمه کلیدی "return" از "yield" جهت ارسال نتیجه استفاده می شود در تابع مولد نتیجه ابجکتیست که از اینترفیس Iterator استفاده می کند. که بواسطه آن میتوان با دستور foreach مقادیر دنباله را دریافت کرد.
function nums() {
echo "start";
for ($i = 0; $i < 5; ++$i) {
yield $i;
echo "Yielded $i";
}
echo "end";
}
foreach (nums() as $v);
خروجی
start Yielded 0 Yielded 1 Yielded 2 Yielded 3 Yielded 4 end
- ۱ نظر
- ۱۱ ارديبهشت ۹۵ ، ۲۳:۳۸