परिभाषा और उपयोग
संस्करण 7.1 से, PHP एक नया छद्म-प्रकार iterable प्रदान करता है। कोई भी ऑब्जेक्ट (जैसे सरणी) जो Traversable इंटरफ़ेस को लागू करता है, इसके द्वारा स्वीकार किया जाता है। यह प्रकार foreach कंस्ट्रक्ट या एक जनरेटर फ़ंक्शन का उपयोग करता है जो एक समय में एक मान देता है।
सिंटैक्स
एक फ़ंक्शन अपने पैरामीटर के प्रकार के रूप में iterable रख सकता है ताकि फ़ंक्शन foreach स्टेटमेंट में उपयोग किए जाने वाले मानों के सेट को स्वीकार कर सके। यदि पैरामीटर foreach लूप का समर्थन नहीं करता है, तो PHP पार्सर TypeError फेंकता है।
उदाहरण
उदाहरण 1: पैरामीटर के रूप में इटरेबल
<?php
$arr1 = array("PHP", "Java", "Python");
function myfunc (iterable $arr1) {
foreach ($arr1 as $lang) {
echo $lang . "\n";
}
}
myfunc($arr1);
?>
आउटपुट
PHP Java Python
उदाहरण 2: इटरेबल रिटर्न प्रकार और is_iterable()
एक PHP फ़ंक्शन सरणी जैसे इटरेबल डेटा प्रकार को भी लौट सकता है। हम लौटाए गए मान के प्रकार को सत्यापित करने के लिए is_iterable() फ़ंक्शन का उपयोग करते हैं।
<?php
function newfunc (): iterable {
$arr2 = [];
for ($i = 1; $i < 4; $i++) {
$arr2[$i] = $i * 2;
}
return $arr2;
}
$ret = newfunc();
var_dump(is_iterable($ret));
?>
आउटपुट
bool(true)
उदाहरण 3: इटरेबल रिटर्न प्रकार के साथ जनरेटर
<?php
function gen(): iterable {
yield 1;
yield 2;
yield 3;
}
gen();
?>
PHP संस्करण
इटरेबल छद्म-प्रकार PHP 7.1 में पेश किया गया था।