webForumDet fria alternativet

Problem med class och array

6 svar · 234 visningar · startad av sailsoft

sailsoftMedlem sedan juli 2001225 inlägg
#1

Jag försöker skapa en publik variabel i min klass men får bara fel:

class medlem {

var $stad[] = array('Stad1');

function medlem() {
}

}

Den klagar på [ (parse error, unexpected '[',)

MatteMedlem sedan aug. 20002 975 inlägg
#2

Du kan inte ha [ i variabelnamn:

var $stad = array('Stad1');
aasahMedlem sedan mars 20034 471 inlägg
#3

Vilket troligen beror på att du inte har hakparenteser i deklarationen av arrayer i PHP.

$kalle = array(2, 8 ,7);

är rätt syntax.

sailsoftMedlem sedan juli 2001225 inlägg
#4

Men den här koden funkar om man kör utan class:

$stad[] = array('Stad1');

Det funkar bara inte när man definerar den i en class...

MatteMedlem sedan aug. 20002 975 inlägg
#5
$stad[] = array('Stad1');

är samma sak som

$stad = array(array('Stad1'));

Jag misstänker att det internt i PHP fungerar som en tilldelning till en tidigare variabel, och därför inte fungerar vid variabeldeklaration i en class. Men som sagt bara en gissning, du har alternativet.

Eventuellt (tveksamt) skulle det kunna gå med:

$stad[0] = array('Stad1');
The_HulkMedlem sedan juni 20031 837 inlägg
#6

Hmm, kanske har fel nu men rätta mig i så fall.
Kan man verkligen initiera en variable när man deklarerar den i PHP?

alltså man måste väl göra så här?

class test
{
  var $stad;
  
  function test
  {
    // så här
    $this->stad = array("Stad1");
    // eller så här
    $this->stad[] = "Stad1";
    // inte båda
  }
}
MatteMedlem sedan aug. 20002 975 inlägg
#7

Det går bra att tilldela variabeln ett värde när du deklarerar den, men det går inte att göra några som helst operationer i samband med detta.

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)