कोशिश करें क्योंकि मैं शायद अपने सिर को इटरेटर इटरेटर क्लास के आसपास नहीं कर सकता। मैं समझता हूं कि कक्षाएं ट्रैवर्सबल को कार्यान्वित कर सकती हैं ताकि इंजन जानता है कि यह फोरैच और का उपयोग करके लूप कर सकता है। मुझे एहसास है कि IteratorIterator को किसी भी इटरेटर में ट्रैवर्सबल में कनवर्ट करने योग्य माना जाता है लेकिन मैं समझ नहीं सकता कि कैसे मेरे जीवन के बारे में समझते हैं।PHP IteratorIterator क्लास कैसे काम करता है?
उदाहरण के लिए लें, PDOStatement कक्षा; पीडीओएसटेमेंट पर पुनरावृत्ति की अनुमति देने के लिए मानक इटरेटर विधियों (अगली, कुंजी, रिवाइंड इत्यादि) को कैसे लागू किया जाएगा?
क्षमा करें अगर मेरा प्रश्न अस्पष्ट है, तो मैं इस कक्षा के लिए सही कारण समझने के लिए संघर्ष कर रहा हूं और इसके बारे में दस्तावेज कम है।
धन्यवाद,
विल
अद्यतन: phpt फ़ाइलों के माध्यम से जा रहे हैं, मैं एक परीक्षण है जो उपयोग करता पाया IteratorIterator:
<?php
$root = simplexml_load_string('<?xml version="1.0"?>
<root>
<child>Hello</child>
<child>World</child>
</root>
');
foreach (new IteratorIterator($root->child) as $child) {
echo $child."\n";
}
?>
अपेक्षित आउटपुट है:
Hello
World
मैं वास्तव में पालन नहीं करता कि IteratorIterator निर्माण $ root-> बच्चे के रूप में कैसे लेता है एक तर्क और यह कैसे बाल तत्वों पर पुनरावृत्त करने के लिए प्रबंधन करता है।
मैं इस सवाल का जवाब [यहां] पाया (http://blog.ircmaxell.com/2011/10/iteratoriterator-php-inconsistencies.html)। लेकिन ऐसा लगता है कि IteratorIterator अब थोड़ा महत्व बन गया है, है ना? – akond