Antara muka PHP Iterable

PHPz
Lepaskan: 2023-08-20 14:50:01
ke hadapan
877 orang telah melayarinya

PHP Iterable接口

Memperkenalkan antara muka

Iterator memanjangkan antara muka abstrak Boleh dilalui. PHP menyediakan beberapa iterator terbina dalam (dipanggil SPL iterator) untuk banyak fungsi biasa. Contohnya ArrayIterator, DirectoryIterator dll. Kelas pengguna yang melaksanakan antara muka Iterator harus melaksanakan kaedah abstrak yang ditakrifkan di dalamnya.

Syntax

Iterator extends Traversable {
   /* Methods */
   abstract public current ( void ) : mixed
   abstract public key ( void ) : scalar
   abstract public next ( void ) : void
   abstract public rewind ( void ) : void
   abstract public valid ( void ) : bool
}
Salin selepas log masuk

Methods

Iterator::current — Mengembalikan elemen semasa

Iterator::key — Mengembalikan kunci elemen semasa

Iterator::next element — Beralih ke item berikutnya — Akan iterate Iterator memundurkan semula elemen pertama

Iterator::valid — Semak sama ada kedudukan semasa adalah sah

Apabila melaksanakan antara muka

IteratorAggregate

atau Iterator, mereka mesti disenaraikan sebelum nama mereka dalam klausa. Contoh Lelang

Dalam skrip PHP berikut, kelas yang melaksanakan antara muka mengandungi pembolehubah peribadi sebagai tatasusunan. Dengan melaksanakan kaedah abstrak iterator, kita boleh mengulangi tatasusunan menggunakan gelung

foreach

dan kaedah

next(). Contoh

<?php
class myIterator implements Iterator {
   private $index = 0;
   private $arr = array(10,20,30,40);
   public function __construct() {
      $this->index = 0;
   }
   public function rewind() {
      $this->index = 0;
   }
   public function current() {
      return $this->arr[$this->index];
   }
   public function key() {
      return $this->index;
   }
   public function next() {
      ++$this->index;
   }
   public function valid() {
      return isset($this->arr[$this->index]);
   }
}
?>
Salin selepas log masuk

Menggunakan gelung

foreach

, kita boleh mengulangi sifat tatasusunan objek MyIterator

$it = new myIterator();
foreach($it as $key => $value) {
   echo "$key=>". $value ."</p><p>";
}
Salin selepas log masuk
Lelaran juga boleh dilakukan dengan memanggil kaedah gelung next()

dalam seketika Sebelum memulakan gelung, pastikan untuk

memundurkan lelaran. Contoh

$it->rewind();
do {
   echo $it->key() . "=>" .$it->current() . "</p><p>";
   $it->next();
}
while ($it->valid());
Salin selepas log masuk

Output

Dalam kedua-dua kes, traversal atas sifat tatasusunan menunjukkan hasil berikut

0=>10
1=>20
2=>30
3=>40
Salin selepas log masuk

Atas ialah kandungan terperinci Antara muka PHP Iterable. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!