Kom ihåg mig?
Home Menu

Menu


PHP klassvariabel bråkar

Ämnesverktyg Visningsalternativ
Oläst 2007-09-04, 21:17 #1
blixtsystems blixtsystems är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2005
Inlägg: 442
blixtsystems blixtsystems är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2005
Inlägg: 442
Håller på med en parser och har en "Finite State Machine" som jag kör med för att göra processen lite smidigare.
Det har varit en mycket hjälpsam metod men nu har jag plötsligt kört fast.

Problemet består i att själva klassvariabeln som bestämmer vilket "state" man befinner sig i helt enkelt vägrar att låta sig sättas vid ett tillfälle.
I början av funktionen så sätts den problematiska variabeln $this->STATE en gång och det funkar alltid.
Sedan är det endast på ett ställe i en loop som jag måste uppdatera värdet vid varje iterering, och den kodsnutten som konfunderar mig:
Kod:
Kod:
$this->STATE=$a[$tok_key]["ds"];
echo "<br/>class:".$this->STATE."<br/>local:".$a[$tok_key]["ds"]."<br/>";
Normalt så får jag korrekt echo ...som exempel:
class:PLAYERNO
local:PLAYERNO

Men plötsligt runt den 20'e itereringen så dyker det upp följande output:
class:
local:PLAYERNO

Alltså innehåller $a[$tok_key]["ds"] korrekt värde men av någon anledning så finns det inte i $this->STATE raden efter jag satt värdet.
$this->STATE ger även negativt resultat om jag testar med en isset()

Jag kan posta hela koden om det kan någon tror att den orkar titta igenom den och se om de kan hitta problemet, men det förbluffar mig att det överhuvudtaget är möjligt att variabeln kan vara tom raden efter jag satt den, och endast ungefär den 20'e gången jag kallar funktionen.

Jag har inte kört med OOP speciellt mycket i just PHP tidigare och undrar vad jag kan ha missat som gör att klassvariabler plötsligt slutar existera.
blixtsystems är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017