Avatar billede 17196 Nybegynder
03. april 2008 - 14:11 Der er 22 kommentarer og
1 løsning

Hvad betyder lig-og

Denne: =&
Jeg har søgt netttet tyndt for at finde et svar, og endda skrevet et håndskrevet brev til internettet, men intet resultat.

Tillægsspørgsmål:
Hvis jeg nu skulle støde ind i et lignende spørgsmål senere, hvordan googler man sådanne tegn? -eller finder dem på php.net?
Avatar billede w13 Novice
03. april 2008 - 14:19 #1
Jeg har ikke set det før, men jeg er også ret ny inden for PHP.

I hvilken sammenhæng står det?

Den er f.eks. ikke med her, så det er vist ikke en helt normal operator: http://www.w3schools.com/PHP/php_operators.asp
Avatar billede michael_stim Ekspert
03. april 2008 - 14:19 #2
Avatar billede michael_stim Ekspert
03. april 2008 - 14:20 #3
Er det ikke bare en reference?
Avatar billede nielle Nybegynder
03. april 2008 - 14:23 #4
Sikker på at det ikke var den anden vej rundt: "&=" i stedet for "=&"? Altså brugt sådan her:

$a &= $b;

Det er en kompakt form af det lidt længere udtryk:

$a = $a & $b;

Den er i øvrigt samme famillie som sådan noget som "+=":

$a += 3  ... det samme som ...  $a = $a + 3


Hvad betyder så "&" ? Den står for en bit-vis AND:

$a = 3  ... som bits ...  00000011
$b = 10  ... som bits ...  00001010

$a & $b  ... som bits ...  00001011  ... som decimal ...  11


Du kan læse mere om det her:

http://dk2.php.net/operators
http://dk2.php.net/manual/da/language.operators.bitwise.php - om &-operatoren


(meget spændt på hvad et "håndskrevet brev til internettet" er for noget?)
Avatar billede 17196 Nybegynder
03. april 2008 - 14:27 #5
Den er brugt sådan i noget jeg fandt på php classes.
$str =& $_SESSION['str'];
Avatar billede 17196 Nybegynder
03. april 2008 - 14:30 #6
@nielle:
Det er det man beder folk om at skrive når man har fået nok af IT spørgsmål :P

Jeg har kigget under operators og assignment, men er bare ikke stødt på det eksakte udtryk.
Avatar billede 17196 Nybegynder
03. april 2008 - 14:36 #7
Mit umiddelbare gæt var også at den var noget lignende +=.
Men jeg kan ikke leve med ikke at vide det præcist!
Avatar billede pidgeot Nybegynder
03. april 2008 - 14:37 #8
Hvis du kører en lille smule ned på michael_stim's link (det samme som nielle's første link), finder du & som en operator, og der står den har at gøre med bitvis aritmetik, og referencer.

=& er et eksempel på referenceoperatoren, så kig på det punkt derinde *-)

*går igen*
Avatar billede pidgeot Nybegynder
03. april 2008 - 14:38 #9
...og får lige at være helt præcis - operatoren er kun &. = er fordi referencen tildeles til en variabel, og har som sådan ikke noget med &'et at gøre
Avatar billede dkfire Nybegynder
03. april 2008 - 14:42 #10
Den ses oftest når den handler om klasser.
Noget ala:

$myobject =& new MyClass();

Og det er som pidgoet en reference til et eller andet.
& findes også i andre sprog som c og c++. & kan også bruges til funktions referencer.
Avatar billede dkfire Nybegynder
03. april 2008 - 14:44 #11
Avatar billede nielle Nybegynder
03. april 2008 - 14:51 #12
Hvis at & i denne sammenhæng står for "adresse" så er operatoren nok skrevet en smule forkert (forkert i forhold til læseligheden):

I stedet for:

$str =& $_SESSION['str'];

- burde der så stå:

$str = &$_SESSION['str'];


Bemærk at jeg ikke er klar over om det er tilfældet i PHP, men i sprog som C++ vil:

&$abc;

- returnere adressen på variablen $abc. Og det er så adressen som indsættes i variablen på venstre side.
Avatar billede michael_stim Ekspert
03. april 2008 - 14:54 #13
Nielle>> Derfor mit spørgsmål:
Er det ikke bare en reference?

$str = &$_SESSION['str'];
Eller:
$str =&$_SESSION['str'];

Men ikke:
$str =& $_SESSION['str'];
Avatar billede michael_stim Ekspert
03. april 2008 - 14:56 #14
Men det kan da godt være PHP kan finde ud af at tolke det som en reference, med mellemrummet det forkerte sted. Har ikke tid til at teste.
Avatar billede dumbledore Nybegynder
03. april 2008 - 15:07 #15
$str = &$_SESSION['str'];
+
$str =&$_SESSION['str'];

er ens.

Hvorimod som du selv siger Michael_stim, så er =& $_SESSION ikke det samme
Avatar billede 17196 Nybegynder
03. april 2008 - 15:19 #16
Jeg det giver jo unægteligt lidt at læse op på. Jeg takker for hjælpen.
Hvem vil have points?
Avatar billede 17196 Nybegynder
03. april 2008 - 15:21 #17
Jamen*
Avatar billede 17196 Nybegynder
04. april 2008 - 10:55 #18
michael og nielle skal vi sige i vinder 30 eks-$ hver?
-pidgeot og dkfire skylder jeg kage.

Nogen der er kede af det?
Avatar billede dkfire Nybegynder
04. april 2008 - 11:24 #19
Fint med mig, godt spørgsmål du stillede. :-)
Avatar billede michael_stim Ekspert
04. april 2008 - 12:59 #20
Samler ikke på point, ellers tak.
Avatar billede nielle Nybegynder
14. april 2008 - 07:24 #21
Springer over på denne her. :^)
Avatar billede 17196 Nybegynder
14. april 2008 - 11:19 #22
Hehe, er det fordi i hellere ville have kage?

Tak igen, håber det er okay jeg lukker så.
Avatar billede dkfire Nybegynder
14. april 2008 - 12:13 #23
Ja tak kage det vil da være en glimrende ide ;-)
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