Avatar billede naxosnaxos Nybegynder
25. oktober 2003 - 22:42 Der er 10 kommentarer og
2 løsninger

c struct i php

Hej

Hvad er det tætteste man i php kommer på en struct?

jeg vil gerne have et array hvor jeg dynamisk kan tilføje instanser af en "struct" evt. af et andet array
Avatar billede erikjacobsen Ekspert
25. oktober 2003 - 22:46 #1
class
Avatar billede naxosnaxos Nybegynder
25. oktober 2003 - 23:11 #2
okay har nu lavet en klasse som min struktur
jeg udvider min samling med array_push(...)
så jeg får et array hvor der på hver plads er en instans af min klasse.
Hvordan indekser jeg så denne??

eks. stuktur
class struk
{

$var1;
$var2;

public struk();

}

£obj = new struk();

array_push($myCollection, $obj )

$myColection[0][var1] = "something";

eller how??
Avatar billede naxosnaxos Nybegynder
25. oktober 2003 - 23:12 #3
skulle stå $obj og ikke £obj!
Avatar billede erikjacobsen Ekspert
25. oktober 2003 - 23:13 #4
$myColection[0]->var1 = "something";
Avatar billede amix Nybegynder
25. oktober 2003 - 23:15 #5
Ahh det er godt med lidt afveksling. Synes jeg blev træt af alle de dollar tegn.

€hej = "Euro";
HVORFOR KAN MAN IKKE DET :'(
Avatar billede naxosnaxos Nybegynder
25. oktober 2003 - 23:15 #6
ahh super goder du smide et svar ;o) så må jeg se om ikke jeg kan sige om det virker en gang i nat ;o)
Avatar billede erikjacobsen Ekspert
25. oktober 2003 - 23:18 #7
Bliv bare ved med at spørge - vi kan vente med evt. point til det virker helt!
Avatar billede naxosnaxos Nybegynder
26. oktober 2003 - 02:53 #8
så er jeg tilbage ;o)

det virker skam, men er stødt på noget andet emd foreach

function getFieldData( $id, $index, $subindex )
    {
        //loop through nocecollection and return struct
        $tmp;
        foreach ($this->nodecollection as $colindex => $coldata )
        {
            //if( ($coldata->nodeid == $id ) && ($coldata->index == $index ) && ($coldata->subindex == $subindex ) )
            if( ($this->nodecollection[ $colindex ]->nodeid == $id ) && ($this->nodecollection[ $colindex ]->index == $index ) && ($this->nodecollection[ $colindex ]->subindex == $subindex ) )
            {
                $tmp = $this->nodecollection[ $colindex ];
                break;
            }
        }
   
        return $tmp;
    }
Avatar billede naxosnaxos Nybegynder
26. oktober 2003 - 02:55 #9
nodecollection indeholder instanser af en anden klasse ala en struct.
nu vil jeg gerne finde den struct i nodecollection hvor id nodeid og subid er lig med  dem jeg sender til funktionen, men kan ikke lige hite ud af den foreach.
Lidt hjælp tak og så er der point ;o)
Avatar billede naxosnaxos Nybegynder
26. oktober 2003 - 02:06 #10
beklager det er vist ikke her jeg har fejl fandt jeg lige ud af.
i min start_element: function start_element($parser, $name, $att)
får jeg forkerte værdier fra $att.
dette er fra xml filen: <id nodeid="1" index="200" subindex="1" />
pt. får jeg lagt værdien nodeid ind i min variable, men det jeg vil have er værsien af den, altså 1. hvordan trækker man den ud??
Avatar billede naxosnaxos Nybegynder
26. oktober 2003 - 09:45 #11
Så nu er der ikke mere for denne gang. Fik selv løst det sidste.

jeg havde lavet en list( $id, $index, $subindex) = each( $att ) for at få alle mine 3 sttributter ud. Dette gav mig dog kun min id. SÅ jeg fandt ud af at
jeg kunne tage dem fra $att således $att["id"] osv. og så var det problem løst.

Så smid et svar erikjacobsen
Avatar billede erikjacobsen Ekspert
26. oktober 2003 - 12:19 #12
;) Ja, beklager jeg ikke lige var tilgængelig i nat ... men du klarede det selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester