interface SomeInterface {
/**
* @param SomeInterface|ArrayObject|array $array
*/
function __construct($array);
/**
* Creates a new array with the results of calling a provided function on every element in the ArrayHelperInterface.
* @param $callback
* @return SomeInterface
*/
public function each($callback);
}
class SomeHelper implements SomeInterface
{
public $array;
public function __construct($array) {
$this->array = $array;
}
public function each($callback) {
foreach ($this->array as $key => $value)
$callback($key, $value, $this);
}
}
$array = array('_0' => 0);
$array = new SomeHelper($array);
$func = function ($key, $value, SomeInterface $arr) {
print_r($arr);
echo '<br>';
$arr[5] = 10;
print_r($arr);
echo '<br>';
};
$array->each($func);
//var_dump(iterator_to_array($array));
При вызове each($func) SomeInterface $arr до и после обработки остается одинаковым.
Подскажите плиз в чем может быть проблема.