- var_dump: documentation ( source)
<?php
class DataContainer implements IteratorAggregate { // create an external Iterator:
protected $data;
public function __construct(array $data) {
$this->data = $data;
}
public function &getIterator() {
foreach ($this->data as &$value) {
yield $value;
}
}
}
$dataContainer = new DataContainer([77, 78, 79]);
foreach ($dataContainer as &$value) {
echo $value *= -1,"\n";
}
var_dump($dataContainer);
// unset $value or can get strange bugs.
unset($value);
foreach($dataContainer as $value);
var_dump($dataContainer);