webForumDet fria alternativet

Ang variablar m.m. i PHP!

6 svar · 354 visningar · startad av Fredde Mannen

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#1

Okei en enkel sak bara.

har sett i en del script att de tilldelar variablar genom följande metod:

$variabel =& $_POST['name'];

Vad är skillnaden gentemot

$variabel = $_POST['name'];
SnakesMedlem sedan okt. 2004392 inlägg
#2

Hos mig funkar det inte iaf:

Parse error: parse error, expecting `T_NEW' or `T_STRING' or `T_VARIABLE' or `'$'' in /home/virtual/*******/public_html/test.php on line 3
Fredde MannenMedlem sedan nov. 20014 054 inlägg
#3

Snakes skrev:

Hos mig funkar det inte iaf:

Parse error: parse error, expecting `T_NEW' or `T_STRING' or `T_VARIABLE' or `'$'' in /home/virtual/*******/public_html/test.php on line 3

ahh.. man undrar ju vilken skum världen man lever i ... :l

tänkte bara om nån visste.. :)

SnakesMedlem sedan okt. 2004392 inlägg
#4

Hitta det, du skrev fel där uppe därför funka det inte hos mig.
("$var1 = &$var2" ska det vara och inte "$var1 =& $var2")

Om vi gör så här:

$varde1 = "Ett";
$varde1 = &$varde2;
echo $varde1; // skulle [B]inte[/B] skriva ut nåt! 
echo $varde2; // skulle [B]inte[/B] skriva ut nåt! 
$varde1 = "Två"; // $varde1 eller $varde2 skriver inte ut nåt förrän dem har fått ett nytt värde.
echo $varde1; // skulle skriva ut [B]Två[/B]. 
echo $varde2; // skulle skriva ut [B]Två[/B]. 
$varde1 = "Tre"; // notera att vi bara ger $varde1 ett nytt värde.
echo $varde1; // skulle skriva ut [B]Tre[/B]. 
echo $varde2; // skulle skriva ut [B]Tre[/B].

Alltså det som händer är att $varde2 snor $varde1's värde och det gör den varje gång vi ändrar värde på $varde1...

Skulle du istället göra så här så skulle det se ut så här:

$varde1 = "Ett";
$varde2 = $varde1;
echo $varde1; // skulle skriva ut [B]Ett[/B]. 
echo $varde2; // skulle skriva ut [B]Ett[/B]. 
$varde1 = "Två"; 
echo $varde1; // skulle skriva ut [B]Två[/B]. 
echo $varde2; // skulle skriva ut [B]Ett[/B]  fortfarande. 
$varde1 = "Tre"; 
echo $varde1; // skulle skriva ut [B]Tre[/B]. 
echo $varde2; // skulle skriva ut [B]Ett[/B]  fortfarande.

Hoppas det förklarar det hela...

PeeerMedlem sedan mars 20025 907 inlägg
#5

Dvs $var1 blir helt enkelt en pekare till $var2.

kjellMedlem sedan dec. 1999757 inlägg
#6

Snakes skrev:

("$var1 = &$var2" ska det vara och inte "$var1 =& $var2")

Att skriva $var1 =& $var2 eller $var1 = & $var2 eller $var1 = &$var2 borde inte ha något annat än kosmetisk betydelse.

$varde1 = "Ett";
$varde2 =& $varde1;

om man vill skapa en referens till $varde1.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#7

TACK TACK TACK! :D

Då blev jag genast mycket klokare! :birp

EN RIKTIG GOD JUL & ETT RIKTIGT GOTT NYTT ÅR PÅ ER!! :e

137 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)