erlber Skrevet 27. april 2004 Del Skrevet 27. april 2004 Overskriften sier sitt.... Jeg skal gjøre slik at alle variabler blir nullsatt... Lenke til kommentar
???????? Skrevet 27. april 2004 Del Skrevet 27. april 2004 hva med unset() som du selv sier? eller hva mener du? Lenke til kommentar
Nervetattoo Skrevet 28. april 2004 Del Skrevet 28. april 2004 Hvorfor vil du unsette alle variabler? Men som mr.spørsmåltegn sier. Se på unset(); funksjonen. Kombiner med get_defined_vars() så kan duy få unsetta alle variabler. Lenke til kommentar
sven-o Skrevet 28. april 2004 Del Skrevet 28. april 2004 Hva med unset($_GLOBALS); ? Lenke til kommentar
Nervetattoo Skrevet 28. april 2004 Del Skrevet 28. april 2004 unset($GLOBALS); Mener du vell. Vil nok funke fint den. Men skjønner ikke helt hvorfor trådstarter ønsker å unsette alle variabler. Lenke til kommentar
sven-o Skrevet 28. april 2004 Del Skrevet 28. april 2004 unset($GLOBALS);Mener du vell. Vil nok funke fint den. Poteto - potato... Men skjønner ikke helt hvorfor trådstarter ønsker å unsette alle variabler.Kanskje han tror han frigjør minne på web-serveren? Lenke til kommentar
???????? Skrevet 28. april 2004 Del Skrevet 28. april 2004 (endret) Vil den fungere? Er det noen som kan teste denne: $a = "test"; unset($GLOBALS); echo $a; Den skal ikke fungere, siden den sletter selve $GLOBALS men ikke variabelene. EDIT: Du kan bruke den øverste løsningen til Findus sammen med unset, hvis du slår opp i manualen finner du en ferdig funksjon i kommentarene. Endret 28. april 2004 av ???????? Lenke til kommentar
Nervetattoo Skrevet 28. april 2004 Del Skrevet 28. april 2004 Stemmer det ????????, funket ikke. Men er jo en smal sak å iterere(norsk ord for iterate?) over arrayet og så unsette alle variabler. Eller bruke get_defined_vars. Litt relevant kanskje: Noe jeg postet på et annet forum på et helt annet spørsmål, men som har med bruker satte variabler å gjøre, hvordan finne navn og verdier. <?php $var = "test"; $name = "another variable"; $test = "bah"; $sliced = array_slice(array_keys(get_defined_vars()), 13); foreach ($sliced as $varname) { echo "Variable name: ".$varname." contains value: ".$$varname."<br />\n"; } ?> Ikke det beste eksemplet, da jeg uten å ha brukt noe særlig tid på det, eller sett nøye på det, mener at det er stor sjanse for at det ikke vil funke i alle situasjoner. Men kan hjelpe litt her og tror jeg. Lenke til kommentar
BlueEAGLE Skrevet 28. april 2004 Del Skrevet 28. april 2004 iterere(norsk ord for iterate?) Når man først snakker om norske ord, hva med disse oversettelsene? Array = Matrise Unset = Nullstille eller frigjøre Uansett så har PHP automatisk søppeltømming, så den eneste grunnen til å gjøre dette måtte være for at scriptet skal starte på nytt uten noen verdier satt. Det er der klasser og/eller funksjoner er fine. Da trenger du kun å destruere og opprette en ny klasse for at variablene skal være nullstilte. Lenke til kommentar
Torbjørn Skrevet 28. april 2004 Del Skrevet 28. april 2004 (endret) hva med $GLOBALS=array() ? EDIT: nei, det kunne man jo forvente ikke funket. Endret 28. april 2004 av Torbjørn Lenke til kommentar
Nervetattoo Skrevet 28. april 2004 Del Skrevet 28. april 2004 iterere(norsk ord for iterate?) Når man først snakker om norske ord, hva med disse oversettelsene? Array = Matrise Unset = Nullstille eller frigjøre Uansett så har PHP automatisk søppeltømming, så den eneste grunnen til å gjøre dette måtte være for at scriptet skal starte på nytt uten noen verdier satt. Det er der klasser og/eller funksjoner er fine. Da trenger du kun å destruere og opprette en ny klasse for at variablene skal være nullstilte. Matrise == matrix. Matrix != array. Unset, frigjøre, ja, høres ikke så dumt ut egentlig. Er rart med tema som programmering på norsk. Uansett, etter litt tenking så tror jeg det ikke er mulig å frigjøre alle variabler med en enkelt unset();. $GLOBALS inneholder ikke variabelen $a, men en referanse til den. F.eks: $a = "Test"; $GLOBALS = "haha, nå er det bare en vanlig variabel"; unset($GLOBALS); echo $a; print_r($GLOBALS); Vil gi følgende: Test. Med andre ord har man frigjort $GLOBALS, men $a er ikke en del av $GLOBALS så den eksisterer enda. Tror det greieste blir å bruke get_defined_vars(); som i mitt eksempel over, og så bruker unset(); på hver variabel som er satt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå