Yani bu yüzden kolayca nesne / dizinin üzerinde yürüyebilir örneğin işlevi her ile bu RecursiveIterator from the SPL uzatmak istiyorum
class it extends RecursiveArrayIterator {
public function each( $function, $args=array() ){
$args = (sizeof($args)>0) ? array_merge(array($this),(array)$args) : array($this);
iterator_apply( $this, $function, $args );
return $this;
}
}
//Running it:
$it = new it( &$array );
$it->each( function( $it ){
$it->offsetSet( $it->key(), $it->current() + 1 );
return true;
});
Hangi sonuçlar:
Önerilmeyen: Çağrı-time pass-by-reference önerilmemektedir olmuştur ...
Sorun yapamıyorum, ya da depricated çünkü nesne oluştururken, başvuru kullanmak gerektiğidir. Ama nasıl i allow_call_time_pass_reference değiştirmeden bu elde edebilirsiniz, bunu değişiklik yapmak mümkün olmak istiyorum dizi / nesne üzerinde yineleme zaman On? Ben php 5.3 ile wamp kullanıyorum.
İyi günler
1, http://www.php.net/manual/en/class.recursivearrayiterator.phpin ...