Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der PHP-Iteratoren und der Verwendung der Iteration
Dieses Mal werde ich Ihnen eine detaillierte Erklärung von PHP-Iteratoren und der Verwendung von Iterationen geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung von PHP-Iteratoren und -Iterationen?
PHPs objektorientierte-Engine bietet eine sehr intelligente Funktion, das heißt, Sie können die foreach()
-Methode verwenden, um alle Eigenschaften eines Objekts über eine Schleife abzurufen, genau wie das Array Methode, der Code wie folgt:
class Myclass{ public $a = 'php'; public $b = 'onethink'; public $c = 'thinkphp'; } $myclass = new Myclass(); //用foreach()将对象的属性循环出来 foreach($myclass as $key.'=>'.$val){ echo '$'.$key.' = '.$val."<br/>"; } /*返回 $a = php $b = onethink $c = thinkphp */
Wenn Sie komplexeres Verhalten implementieren müssen, können Sie es über einen iterator
(Iterator) implementieren.
//迭代器接口 interface MyIterator{ //函数将内部指针设置回数据开始处 function rewind(); //函数将判断数据指针的当前位置是否还存在更多数据 function valid(); //函数将返回数据指针的值 function key(); //函数将返回将返回当前数据指针的值 function value(); //函数在数据中移动数据指针的位置 function next(); } //迭代器类 class ObjectIterator implements MyIterator{ private $obj;//对象 private $count;//数据元素的数量 private $current;//当前指针 function construct($obj){ $this->obj = $obj; $this->count = count($this->obj->data); } function rewind(){ $this->current = 0; } function valid(){ return $this->current < $this->count; } function key(){ return $this->current; } function value(){ return $this->obj->data[$this->current]; } function next(){ $this->current++; } } interface MyAggregate{ //获取迭代器 function getIterator(); } class MyObject implements MyAggregate{ public $data = array(); function construct($in){ $this->data = $in; } function getIterator(){ return new ObjectIterator($this); } } //迭代器的用法 $arr = array(2,4,6,8,10); $myobject = new MyObject($arr); $myiterator = $myobject->getIterator(); for($myiterator->rewind();$myiterator->valid();$myiterator->next()){ $key = $myiterator->key(); $value = $myiterator->value(); echo $key.'=>'.$value; echo "<br/>"; } /*返回 0=>2 1=>4 2=>6 3=>8 4=>10 */
Ich glaube, Sie haben die Methode danach gemeistert Wenn Sie den Fall in diesem Artikel lesen, wird es weitere spannende Dinge geben. Bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Detaillierte Erklärung der Schritte zur Verwendung des PHP-Schnellsortierungsalgorithmus
Detaillierte Erklärung der Schritte für Laden von Bibliotheken von Drittanbietern in Laravel
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Iteratoren und der Verwendung der Iteration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!