2014-08-28 147 views
-1

我想弄清楚用來引用另一個變量的變量的正確語法或函數。例如,在另一個變量中引用一個變量

$_SESSION['foo'] = 'bar' ; 
    $var1 = '$_SESSION[\'foo\']' ; 
    $var2 = ${"$var1"} ; 
    echo "$var2" ; 

如何顯示值'bar'?

+1

$ var1 =&$ var1我記得 – 2014-08-28 02:24:01

+2

你想把session var的值放到'$ va r1'?你太複雜了:'$ var1 = $ _SESSION ['foo'];'如果這個變量不需要[變量](http://php.net/manual/en/language.variables.variable.php)只是一個簡單的任務。 – 2014-08-28 02:24:25

+0

@MichaelBerkowski他不想分配它,他想參考它 – 2014-08-28 02:25:14

回答

0

使用引用變量:

$_SESSION['foo'] = 'bar'; 
$var1 = $_SESSION['foo']; 
$var2 = &$_SESSION['foo']; 
$_SESSION['foo'] = 'abc'; 

echo $var1; // prints bar 
echo $var2; // prints abc 

或者,也許這是你想要什麼:

$_SESSION['foo'] = 'bar'; 
$var1 = '$_SESSION[\'foo\']'; 
$var2 = eval("return $var1;"); // The argument to eval has to be a statement 
echo $var2; // prints bar 
+0

想做的事情是:使用字符串''__SESSION [\'foo \']''來獲取'$ _SESSION ['foo']'的值,它不是引用,而是eval的值。 – xdazz 2014-08-28 02:41:29

+0

我已經添加了一個'eval'解決方案。 – Barmar 2014-08-28 02:49:27

+0

這樣做!謝謝。 – user1822391 2014-08-28 03:07:01

0

引用變量中使用的符號&變量之前,像這樣:

$_SESSION['foo'] = 'bar' ; 
$var1 = '$_SESSION[\'foo\']' ; 
$var2 = &$var1; 
echo "$var2" ; 
+0

'$ var2 = &$var1;'這裏不會去''eval()''__SESSION ['foo']',它只是'$ var1'中的字符串文字。 – 2014-08-28 02:28:28

+0

這就是他想要的,看起來 – 2014-08-28 02:29:17

+0

這給了我$ _SESSION ['foo']'不'bar'。 – user1822391 2014-08-28 02:36:15

相關問題