¿Qué es un Iterable?
Un **iterable** es cualquier valor que se puede recorrer con un bucle foreach()
en PHP.
Se introdujo el pseudo-tipo iterable
en PHP 7.1, y se puede utilizar como un tipo de datos
para los argumentos de una función y valores de retorno de una función.
Ejemplo de Uso
<?php
function printIterable(iterable $myIterable) {
foreach ($myIterable as $item) {
echo $item;
}
}
$arr = ["a", "b", "c"];
printIterable($arr);
?>
Usando Iterables
Se puede usar la palabra clave iterable
como tipo de datos en un argumento de función
o como tipo de retorno de una función.
Ejemplo
<?php
function getIterable(): iterable {
return ["x", "y", "z"];
}
$myIterable = getIterable();
foreach ($myIterable as $item) {
echo $item;
}
?>
Creación de Iterables
En PHP, los **arrays** son iterables por defecto. Sin embargo, también se pueden crear iteradores
personalizados implementando la interfaz Iterator
.
Ejemplo de Implementación de un Iterador
<?php
class MyIterator implements Iterator {
private $items = [];
private $pointer = 0;
public function __construct($items) {
$this->items = array_values($items);
}
public function current() {
return $this->items[$this->pointer];
}
public function key() {
return $this->pointer;
}
public function next() {
$this->pointer++;
}
public function rewind() {
$this->pointer = 0;
}
public function valid() {
return $this->pointer < count($this->items);
}
}
$iterator = new MyIterator(["p", "q", "r"]);
foreach ($iterator as $item) {
echo $item;
}
?>
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias