Gå til innhold

Å kjøre en funksjon innenfor en funksjon


Anbefalte innlegg

Videoannonse
Annonse

Fikk dette til å virke lokalt vertfall

<?php
function foo($data) {
function foo2($data2) {
$var['name'] = $data2;
return($var);
}

$test = foo2($data);
print $test[name];
}

foo('12345');
?>

 

Edit:

Puttet det inn i fancy kode boks

Endret av Scix
Lenke til kommentar

Du kan fint definere funksjoner innenfor en annen funksjon, men jeg tror du ikke helt har forstått hvordan det fungerer, og hva du egentlig oppnår med det ;)

 

Det som skjer når du definerer en funksjon innenfor en annen er at den "innerste" funksjonen først blir deklarert (gjort tilgjengelig) når den ytterste funksjonen er kalt.

 

function foo() {

function foo2() {
return 1;
}

echo foo2();
}

 

Her vil følgende fungere

foo();
echo foo2();

 

Mens følgende ikke vil fungere

echo foo2();

 

Det er (så vidt jeg kan komme på) ingen gode grunner for å deklarere en funksjon innenfor en annen funksjon. Alt du oppnår er rot. (Hadde skopet for funksjon blitt lokalt for funksjonen den er deklarert i, så hadde det iblant vært nyttig).

 

Hvorfor ønsker du å gjøre dette?

Lenke til kommentar
Er det ikke slike ting man bruker klasser til? Er ikke helt inne på det med klasser, men mener det er godt egnet for å samle funksjoner sammen ;)

5284290[/snapback]

 

Nei, overhodet ikke.

 

Objekter representerer en enhet, som et objekt fra virkeligheten, med diverse metoder og attributter.

Altså er ikke et objekt en slags kontainer for ymse funksjoner du tilfeldigvis bruker i en sammenheng.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...