Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om

[es] :: PHP :: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om

[ Pregleda: 1196 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

broker

Član broj: 2415
Poruke: 8521
212.62.59.*



Profil

icon Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om30.03.2004. u 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);

?>

30.03.2004. u 14:16 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.beotel.net

Sajt: localhost


Profil

icon Re: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om30.03.2004. u 14:26
khm, probaj $this->testarray..


30.03.2004. u 14:26 

noviKorisnik

Član broj: 13216
Poruke: 4516
194.247.222.*



Profil

icon Re: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om30.03.2004. u 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);
30.03.2004. u 14:34 

broker

Član broj: 2415
Poruke: 8521
212.62.59.*



Profil

icon Re: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om30.03.2004. u 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...
30.03.2004. u 14:51 

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.ftn.ns.ac.yu

Sajt: www.activecollab.com


Profil

icon Re: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om30.03.2004. u 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().
http://www.activecollab.com - Alat za upravljanje projektima
30.03.2004. u 17:09 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.racasse.se

Sajt: dejan.lekic.org


Profil

icon Re: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om31.03.2004. u 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 '$'). :)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
31.03.2004. u 13:01 

[es] :: PHP :: Definisanje niza u klasi, ili ja ne razumem ili nesto nije u redu sa PHP-om

[ Pregleda: 1196 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.