Avatar billede kasbas91 Nybegynder
14. marts 2012 - 18:12 Der er 11 kommentarer og
1 løsning

Jeg søger et svar på hvad reference & betyder i php

Hej..

Hvad menes der med at lave en "reference" i PHP

Hvor man bruger & :)

fx: function bar(&$a)

Og er det godt at bruge... Og hvad kan det og hvad gør det..
14. marts 2012 - 18:23 #1
Hvis du har en $a siddende i en memory position og du så (indtil php4) beder om $a, så får du en kopi af variabelen, således at du nu har den i to memory positioner.  Det tager mere plads op, og der er en chance for at de bliver blandet sammen.  Med &$a får du kun en reference, en henvisning til $a's oprindelige memory position.
Avatar billede olebole Juniormester
14. marts 2012 - 18:31 #2
<ole>

Læs Christians forklaring og prøv dette eksempel:

<?php
function foo($a) {
    $a = $a . 'Hey';
}
$b = 'Hep';
foo($b);
echo $b;

echo '<hr>';

function bar(&$a) {
    $a = $a . 'Hey';
}
$b = 'Hep';
bar($b);
echo $b;
?>

/mvh
</bole>
Avatar billede arne_v Ekspert
14. marts 2012 - 18:55 #3
Avatar billede vagnk Juniormester
15. marts 2012 - 09:21 #4
Jeg prøver osse med en forklaring

I gamle dage opererede man med de to begreber "by reference" og "by value" når man skulle føre argumenter over til en funktion eller subrutine. Ved by reference sendte man memoryadressen til funktionen og ved by value var det selve værdien.

Når jeg siger I gamle dage er det fordi man dengang i selve funktionen (eller subrutinen) skulle definere hvordan værdier blev overført.
Avatar billede arne_v Ekspert
15. marts 2012 - 22:20 #5
by ref og by val bruges nu stadig en del ....
Avatar billede vagnk Juniormester
16. marts 2012 - 08:42 #6
Sæføli, men hvor tit taler eller læser vi om dem f.eks indenfor php?
Avatar billede arne_v Ekspert
16. marts 2012 - 19:53 #7
Ikke ret ofte i PHP.

Men C++, C#, VB.NET har stadig problematikken taet paa.
21. marts 2012 - 16:26 #8
kasbas91, fik du disse indlæg?  Du har ikke reageret.  Kom ind og fortæl, om de var til hjælp og hvad din videre hensigt er med tråden.

Jeg opretter dette som svar, idet jeg mener at have bidraget.  Du vil sikkert bede om svar fra andre også (eller i stedet for.)
21. marts 2012 - 17:08 #9
Skulle have været svar.
Avatar billede kasbas91 Nybegynder
22. marts 2012 - 10:47 #10
Ja det hjalp mig, tak.. Læg et svar alle sammen, dem der vil have points.. :)
Avatar billede vagnk Juniormester
22. marts 2012 - 10:53 #11
Jeg behøver ikke. Glad for at det hjalp.
28. marts 2012 - 07:42 #12
kasbas91, du fik kun svar fra mig.  Hvis du alligevel foretrækker at dele pointene kan du selv oprette et svar og acceptere det sammen med mit.  Men er det ikke lukketid?
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