/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ang. & foran funktionserklæring
Fra : Thomas


Dato : 15-08-07 15:47

hej NG

Hvad betyder det når der er et & tegn foran en funktion når den erklæres.?
kan forstå at hvis man placerer et & tegn foran en funktion når man kalder
den bliver der returneret en reference til funktionen (eller hva? har endnu
ikke forstået fordelen ved at gøre det).

Mvh. Thomas



 
 
Ukendt (16-08-2007)
Kommentar
Fra : Ukendt


Dato : 16-08-07 09:29

Thomas wrote:
> hej NG
>
> Hvad betyder det når der er et & tegn foran en funktion når den
> erklæres.? kan forstå at hvis man placerer et & tegn foran en
> funktion når man kalder den bliver der returneret en reference til
> funktionen (eller hva? har endnu ikke forstået fordelen ved at gøre
> det).

Det er vist @ du tænker på? @'et instruerer om silent programafvikling, dvs der vises ikke fejlmeddelse hvis funktionen gør noget ulovligt. @ kan bruges svjv med langt de fleste PHP-funktioner.

Selv mener jeg det er en dårlig ide. Det er fristende, men det er bedre at lave kode som ikke går ned, eller som tager forbehold for potentielle fejl, som i de gode gamle dage. F.eks at man lige tjekker om tallet man dividerer med ikke er 0, og del slags.


Peter Brodersen (16-08-2007)
Kommentar
Fra : Peter Brodersen


Dato : 16-08-07 11:06

On Wed, 15 Aug 2007 16:46:37 +0200, "Thomas"
<bossgis@FJERNhotmail.com> wrote:

>Hvad betyder det når der er et & tegn foran en funktion når den erklæres.?
>kan forstå at hvis man placerer et & tegn foran en funktion når man kalder
>den bliver der returneret en reference til funktionen (eller hva? har endnu
>ikke forstået fordelen ved at gøre det).

Manualen nævner blandt andet dette:
http://dk.php.net/variables

Man kan dog ikke lave en reference i stil med:
$bar = &test();

Til gengæld kan man godt lave en reference til et objekt, fx:
$result = &$db->query("SELECT ...");

I PHP4 gør & at der er tale om en reference til resultat-objektet,
frem for at der laves en helt ny kopi af objektet og lægges i $result.
Det vil normalt ikke gøre nogen skade at arbejde på en kopi, men det
kan tage lidt mere hukommelse.

I PHP5 arbejdes der med en reference, uanset om man bruger & eller ej.

Tjek eventuelt også:
http://lists.tripug.org/pipermail/tripug/2005-November/000135.html

--
- Peter Brodersen
Kendt fra Internet

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste