Object Iteration का मतलब है कि हम एक object की properties को एक-एक करके एक्सेस (Access) कर सकते हैं। यह लूप (Loop) का इस्तेमाल करके किया जाता है। PHP में, हम foreach लूप का इस्तेमाल करके ऑब्जेक्ट की properties को iterate कर सकते हैं।
PHP में object iteration करने के लिए Iterator interface का उपयोग किया जा सकता है। Iterator PHP का built-in interface है, जिसे class में implement करके हम object के data को iterate कर सकते हैं।
उदाहरण:-
class Car {
public $color = "Red";
public $model = "SUV";
private $year = 2020; // Private property
}
$myCar = new Car();
foreach ($myCar as $key => $value) {
echo "$key: $value\n";
}
इसका आउटपुट:-
color: Red
model: SUV
यहाँ ध्यान देने वाली बात यह है कि private प्रॉपर्टीज ($year) को foreach लूप में एक्सेस नहीं किया जा सकता है। केवल public प्रॉपर्टीज ही iterate होती हैं।
Object Iteration के लिए Iterator Interface
अगर हम चाहते हैं कि हमारा ऑब्जेक्ट custom तरीके से iterate हो, तो हम Iterator interface का इस्तेमाल कर सकते हैं। यह इंटरफेस हमें ऑब्जेक्ट की iteration प्रक्रिया को कंट्रोल करने की अनुमति देता है।
उदाहरण:
class Car implements Iterator {
private $properties = [
'color' => 'Red',
'model' => 'SUV',
'year' => 2020
];
private $position = 0;
public function rewind() {
$this->position = 0;
}
public function current() {
return $this->properties[array_keys($this->properties)[$this->position]];
}
public function key() {
return array_keys($this->properties)[$this->position];
}
public function next() {
++$this->position;
}
public function valid() {
return isset(array_keys($this->properties)[$this->position]);
}
}
$myCar = new Car();
foreach ($myCar as $key => $value) {
echo "$key: $value\n";
}
इसका आउटपुट:-
color: Red
model: SUV
year: 2020
यहां हमने Iterator Interface को Implement किया है और object की iteration प्रक्रिया को कस्टमाइज़ (Customize) किया है।
इसे भी पढ़ें:–
निवेदन:- इस पोस्ट को अपने friends के साथ जरूर share कीजिए, और आपके syllabus के related कोई सवाल हो तो उसे आप नीचे comment करके बता सकते हैं।