Dziedziczenie a typy iterable
Założenie: Pokażemy, jak wykorzystać typ iterable
w PHP do iterowania po różnych strukturach danych za pomocą pętli foreach
.
Krok po kroku:
- Przykład z tablicą:
- Przykład z obiektem implementującym Iterator:
- Użycie typu iterable:
$tablica = [1, 2, 3, 4, 5];
foreach ($tablica as $wartosc) {
echo $wartosc . " ";
}
Ten fragment kodu iteruje po tablicy liczb całkowitych i wyświetla każdą wartość.
class Liczby implements Iterator {
private $liczby = [10, 20, 30];
private $index = 0;
public function current() {
return $this->liczby[$this->index];
}
public function key() {
return $this->index;
}
public function next() {
$this->index++;
}
public function rewind() {
$this->index = 0;
}
public function valid() {
return isset($this->liczby[$this->index]);
}
}
$liczby = new Liczby();
foreach ($liczby as $wartosc) {
echo $wartosc . " ";
}
Tutaj definiujemy klasę Liczby
, która implementuje interfejs Iterator
. Pętla foreach
poprawnie iteruje po obiekcie tej klasy.
function iteruj(iterable $dane) {
foreach ($dane as $wartosc) {
echo $wartosc . " ";
}
}
iteruj($tablica);
echo "
";
iteruj($liczby);
Funkcja iteruj
przyjmuje argument typu iterable
, co oznacza, że może przyjąć zarówno tablicę, jak i obiekt implementujący Iterator
.
Ten przykład pokazuje podstawowe zastosowanie typu iterable
w PHP. Zachęcamy do dalszego zgłębiania tematu iteracji i programowania obiektowego!