Php bir nesne oluştururken referans bir değişken geçmek için nasıl

0 Cevap php

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 ...

0 Cevap