Maison  >  Article  >  développement back-end  >  Analyse de l'utilisation de l'interface itérateur d'agrégation PHP IteratorAggregate

Analyse de l'utilisation de l'interface itérateur d'agrégation PHP IteratorAggregate

jacklove
jackloveoriginal
2018-07-04 17:47:312560parcourir

Cet article présente principalement l'utilisation de l'interface itérateur d'agrégation PHP IteratorAggregate, et analyse le concept, la fonction, la définition et l'utilisation de l'interface itérateur d'agrégation IteratorAggregate sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

<.>L'exemple de cet article décrit l'utilisation de l'interface d'itérateur d'agrégation PHP IteratorAggregate. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

PHP IteratorAggregate est également appelé itérateur d'agrégat. Il fournit une interface pour créer des itérateurs externes. Le résumé de l'interface est le suivant :

IteratorAggregate extends Traversable {
  abstract public Traversable getIterator ( void )
}

Lors de l'implémentation de la méthode getIterator, vous devez renvoyer une instance d'une classe qui implémente l'interface Iterator.

Description de l'exemple :

<?php
/**
 * 利用聚合式迭代器,并返回一个实现了Iterator接口的类的实例
 *
 * @author 疯狂老司机
 */
class myData implements IteratorAggregate {
  public $one = "Public property one";
  public $two = "Public property two";
  public $three = "Public property three";
  public function __construct() {
    $this->last = "last property";
  }
  public function getIterator() {
    return new ArrayIterator($this);
  }
}
$obj = new myData;
foreach($obj as $key => $value) {
  var_dump($key, $value);
  echo &#39;<br>&#39;;// Linux:echo "\n";
}
?>

Sortie de l'exemple ci-dessus :

string &#39;one&#39; (length=3)
string &#39;Public property one&#39; (length=19)
string &#39;two&#39; (length=3)
string &#39;Public property two&#39; (length=19)
string &#39;three&#39; (length=5)
string &#39;Public property three&#39; (length=21)
string &#39;last&#39; (length=4)
string &#39;last property&#39; (length=13)

ArrayIterator encapsule un objet ou un tableau dans une classe qui peut être exploitée via foreach. Pour plus de détails, veuillez vous référer à l'introduction des itérateurs SPL. Les amis intéressés peuvent suivre le site Web PHP chinois.

Articles qui pourraient vous intéresser :

Explication détaillée de l'utilisation de l'interface de détection PHP Traversable


Interface de sérialisation personnalisée PHP Analyse et explication de l'utilisation sérialisable


Explication détaillée de la façon d'utiliser l'accélération Opcache de PHP


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn