Iterator: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '=== Gränssnittet Iterator === (PHP 5, PHP 7, PHP 8) ==== Introduktion ==== Gränssnitt för externa iteratorer eller objekt som kan itereras internt. ==== Gränssnittssammanfattning ==== <pre> interface Iterator extends Traversable { →Metoder: public current(): mixed public key(): mixed public next(): void public rewind(): void public valid(): bool } </pre> ==== Fördefinierade iteratorer ==== PHP tillhandahåller redan ett antal iteratorer för många vardagl...') |
(Ingen skillnad)
|
Nuvarande version från 29 augusti 2024 kl. 16.46
Gränssnittet Iterator
(PHP 5, PHP 7, PHP 8)
Introduktion
Gränssnitt för externa iteratorer eller objekt som kan itereras internt.
Gränssnittssammanfattning
interface Iterator extends Traversable {
/* Metoder */
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
}
Fördefinierade iteratorer
PHP tillhandahåller redan ett antal iteratorer för många vardagliga uppgifter. Se SPL iterators för en lista.
Exempel
Exempel #1 Grundläggande användning
Detta exempel visar i vilken ordning metoder anropas när man använder `foreach` med en iterator.
<?php
class myIterator implements Iterator {
private $position = 0;
private $array = array(
"firstelement",
"secondelement",
"lastelement",
);
public function __construct() {
$this->position = 0;
}
public function rewind(): void {
var_dump(__METHOD__);
$this->position = 0;
}
#[\ReturnTypeWillChange]
public function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}
#[\ReturnTypeWillChange]
public function key() {
var_dump(__METHOD__);
return $this->position;
}
public function next(): void {
var_dump(__METHOD__);
++$this->position;
}
public function valid(): bool {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}
$it = new myIterator;
foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
?>
Ovanstående exempel kommer att ge något liknande:
string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(0) string(12) "firstelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(1) string(13) "secondelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(2) string(11) "lastelement" string(16) "myIterator::next" string(17) "myIterator::valid"
Se även
Se även objektiteration.
Innehållsförteckning
- Iterator::current — Returnerar det aktuella elementet
- Iterator::key — Returnerar nyckeln för det aktuella elementet
- Iterator::next — Går vidare till nästa element
- Iterator::rewind — Spolar tillbaka iteratorn till första elementet
- Iterator::valid — Kontrollerar om den aktuella positionen är giltig
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/class.iterator.php
PHP
Språkreferens
Fördefinierade Gränssnitt och Klasser
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.