[ broker @ 30.03.2004. 14:16 ] @
Hocu da koristim niz kao properti u klasi. Izgleda da tu nesto ne stima.

Evo primera:

Code:

<?php

  class testclass { 
    var $testarray = array();
  
    function testclass() {
      for ($counter = 65; $counter < 75; $counter++) {
        $this->$testarray[$counter] = chr ($counter);
      }
    }
    
  }
  
  $testvar = new testclass();
  print_r ($testvar->$testarray);

?>


Kada se ovo zavrsi $testvar->$testarray sadrzi smo jedan slog sa indeksom 75 koji sadrzi vrednost 'J'.

Po nekoj logici, trebalo bi da niz sadrzi vise slogova, pocev od indeksa 65 pa do 75 i da svaki sadrzi znak koji se dobija sa chr ().

Ako ovaj primer izmenim tako da umesto propertija korsitim globalnu promenljivu onda stvar radi kako ocekujem.

Code:

<?php

  class testclass { 
  
    function testclass() {
      global $testarray;
      
      for ($counter = 65; $counter < 75; $counter++) {
        $testarray[$counter] = chr ($counter);
      }
    }
    
  }
  
  $testvar = new testclass();
  print_r ($testarray);

?>

[ -zombie- @ 30.03.2004. 14:26 ] @
khm, probaj $this->testarray..

[ noviKorisnik @ 30.03.2004. 14:34 ] @
Što reče -zombie-:
$this->testarray[$counter] = chr ($counter); umesto
$this->$testarray[$counter] = chr ($counter);
i
print_r ($testvar->testarray); umesto
print_r ($testvar->$testarray);
[ broker @ 30.03.2004. 14:51 ] @
Boze svasta... jednom me je vec urnisalo ovo sa $ ili bez $ pa sam zakljucio da treba $, a sad opet ispade da ne treba, jer, zaista, kada sam izbacio $ radi...

Lepo ja rekoh... 'bem ti programski jezik u kome se ne deklarisu promenljive... :(

Fala momci, oci pogubih na ovome, a jos klasa prilicno komplikovana...
[ Ilija Studen @ 30.03.2004. 17:09 ] @
Radilo bi da je ovako:

Code:

function doSomething() {
  $classVar = 'testArray';
  for($i = 0; $i < 75; $i++) {
    $this->$classVar[$i] = md5($i);
  }
  print_r($this->$classVar);
}


naravno, ako imas promenljivu definisanu sa var $testArray :)

Inace, ovaj metod je jako zgodan kada ne znas imena promenljivih u klasi, vec ih dobijas sa get_class_vars().
[ leka @ 31.03.2004. 13:01 ] @
Da, i ja ponekad gresim sa $this->$nesto ... Uglavnom zato sto u 90% slucajeva ovde u firmi radim sa jezicima koji imaju normalne nazive za promenljive (bez '$'). :)