/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Arrays sammen med objekter
Fra : Mikkel Christensen


Dato : 13-09-01 11:11

Hej.
Jeg har et problem med arrays sammen med objekter!

class listcat{

var $dirs = array();
var $files = array();


function listcat()
{
$dir = '.';
$dp = opendir($dir);
while(($file = readdir($dp))!==false){
if($file != '.' && $file != '..'){

if(is_dir($file)){
$this->dirs[] = $file;

}
elseif(is_file($file)){
$this->files[] = $file;
}

}

}

$this->dirs = asort($this->dirs);
$this->files = asort($this->files);
var_dump($this->files);

}
}

Linien: var_dump($this->files);
giver følgende output: "bool(true)"
Jeg har tjekket at den finder filerne, og jeg har fundet frem til at det er
følgende som giver fejl: $this->dirs[] = $file;
Der sker simpelthen ikke en tildeling til arrayset $dirs sådan som jeg havde
forventet.
Hvorimod: $dirs[] = $file;
Virker helt som det skal.

Kan i fortælle mig hvordan man smider et nyt element ind i et array når det
skal virke objektorienteret?

På forhånd mange tak

M.v.h. Mikkel Christensen



 
 
Mikkel Christensen (13-09-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 13-09-01 13:12


"Mikkel Christensen" <barefoot@e-mail.dk> skrev i en meddelelse
news:9nq0oi$ibp$1@sunsite.dk...
> Hej.
> Jeg har et problem med arrays sammen med objekter!
>
> class listcat{
>
> var $dirs = array();
> var $files = array();
>
>
> function listcat()
> {
> $dir = '.';
> $dp = opendir($dir);
> while(($file = readdir($dp))!==false){
> if($file != '.' && $file != '..'){
>
> if(is_dir($file)){
> $this->dirs[] = $file;
>
> }
> elseif(is_file($file)){
> $this->files[] = $file;
> }
>
> }
>
> }
>
> $this->dirs = asort($this->dirs);
> $this->files = asort($this->files);
> var_dump($this->files);
>
> }
> }
>
> Linien: var_dump($this->files);
> giver følgende output: "bool(true)"
> Jeg har tjekket at den finder filerne, og jeg har fundet frem til at det
er
> følgende som giver fejl: $this->dirs[] = $file;
> Der sker simpelthen ikke en tildeling til arrayset $dirs sådan som jeg
havde
> forventet.
> Hvorimod: $dirs[] = $file;
> Virker helt som det skal.
>
> Kan i fortælle mig hvordan man smider et nyt element ind i et array når
det
> skal virke objektorienteret?
>
> På forhånd mange tak

Af en eller anden uforklarlig årsag virker det ligepludselig nu...
weird



Thomas L. Kjeldsen (13-09-2001)
Kommentar
Fra : Thomas L. Kjeldsen


Dato : 13-09-01 20:15

Hej Mikkel,

Mikkel Christensen wrote:
>
> $this->files = asort($this->files);
> var_dump($this->files);

Asort arbejder direkte på arrayet og returnerer ifølge dokumentationen
void. Derfor gør ovenstående ikke som du ønsker.

Prøv istedet
asort($this->files);
var_dump($this->files);


mvh Thomas

Mikkel Christensen (14-09-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 14-09-01 00:06


"Thomas L. Kjeldsen" <tlk@tigerdyr.wheel.dk> skrev i en meddelelse
news:slrn9q21d9.3rv.tlk@tigerdyr.wheel.dk...
> Hej Mikkel,
>
> Mikkel Christensen wrote:
> >
> > $this->files = asort($this->files);
> > var_dump($this->files);
>
> Asort arbejder direkte på arrayet og returnerer ifølge dokumentationen
> void. Derfor gør ovenstående ikke som du ønsker.
>
> Prøv istedet
> asort($this->files);
> var_dump($this->files);
>
>
> mvh Thomas

Tak, jeg havde ikke lige fået tænkt på det:)




Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408866
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste