پیمایشگر ها یا iterables در PHP
Iterable در PHP یک pseudo-type هست که در PHP 7.1 معرفی شده است. و میتوان از آن به عنوان یک نوع داده برای آرگومانهای تابع و مقادیر بازگشتی تابع استفاده کرد.
معنی واژه Iterable: در زبان برنامه نویسی iterable یعنی قابلیت تکرار اجزای تشکیل دهنده , یا به لحاظ فنی اجزای تشکیل دهنده را می توان تفکیک کرد و هرکدام را به تنهایی برگرداند. مانند ( رشته ها ABC – A, B, C )
iterable یا پیمایشگر نوعی از متغیر ها را مشخص می کند که قابل پیمایش یا به اصطلاح حلقه زدن هستند، مانند array و object که قابلیت پیمایش دارند و می شود مقادیر آنها را با استفاده از ایجاد حلقه foreach یکی یکی تکرار کرد و خواند.
استفاده از Iterable ها در PHP
کلمه کلیدی iterable
را می توان به عنوان نوع داده یک آرگومان تابع یا به عنوان نوع برگشتی یک تابع استفاده کرد:
مثال
در اینجا از یک آرگومان تابع iterable استفاده می کنیم:
خروجی:
abc
مثال
در این مثال یک iterable را برمی گردانیم:
خروجی:
abc
ایجاد Iterables در PHP
آرایه ها:
همه آرایهها iterable (قابل پیمایش) هستند، بنابراین هر آرایهای را میتوان به عنوان آرگومان تابعی که به یک تکرار نیاز دارد، استفاده کرد.
پیمایشگر ها:
هر شیء (object) که رابط Iterator را پیاده سازی می کند می تواند به عنوان آرگومان تابعی که به یک پیمایش نیاز دارد استفاده شود.
یک پیمایشگر شامل لیستی از آیتم ها است و روش هایی را برای حلقه زدن آنها ارائه می دهد.
یک پیمایشگر باید این متدها را داشته باشد:
current()
– عنصر جاری که در حال انتخاب او هست را برمی گرداند. این می تواند هر نوع داده ای باشد.key()
– کلید مرتبط با عنصر فعلی در لیست را برمی گرداند. این فقط می تواند یک integer، float، boolean یا string باشدnext()
– موقعیت نشانگر را به عنصر بعدی در لیست منتقل می کند.rewind()
– نشانگر را به اولین عنصر در لیست منتقل می کند.valid()
– اگر اشارهگر داخلی به هیچ عنصری اشاره نمیکند (مثلاً اگرnext()
در انتهای لیست فراخوانی شده باشد، باید false را برگرداند. در هر مورد دیگر true را برمی گرداند.
مثال
برای درک بهتر مطلب به مثال پایین دقت کنید، رابط Iterator را پیاده سازی می کنیم و از آن به عنوان یک پیمایشگر استفاده می کنیم:
خروجی:
abc
آیا این مطلب برای شما مفید بود ؟