![](/img/trans.png)
[英]What's the difference between $var[] = array() and $var = array()?
[英]Array & Session - Different between 'var' and $var
我正在嘗試了解PHP數組。 兩者之間有什么不同
$ _SESSION ['var']和$ _SESSION [$ var]?
以及如何以及何時才能訪問這樣的變量-$ _SESSION [$ var] [1]?
謝謝! :D
如果將$ var用作數組索引,則$ var的值將用作索引:
$var = "foo";
$_SESSION['foo'] = "bar";
$_SESSION['var'] = "variable";
echo $_SESSION['var']; // This will echo "variable"
echo $_SESSION[$var]; // This will echo "bar"
關於第二個示例,在$ _SESSION [$ var] [1]中,包含在$ _SESSION [$ var]中的字符串將作為字母數組訪問,返回索引1中的字符-第二個字母。
在前一種情況下,“ var”是$ _SESSION數組的“鍵”。 在后者中,變量$ var保留一個值,該值是$ _SESSION數組的“鍵”。
使用$_SESSION['var']
您可以使用關鍵字var
指定值; 與$_SESSION[$var]
指定用價值的關鍵價值$var
:
$arr = array('var' => 1, 'foo' => 2);
$var = 'foo';
var_dump($arr['var']); // int(1)
var_dump($arr[$var]); // int(2)
在出現問題之前: $arr["$var"]
等效於$arr[$var]
(此處$var
在內部轉換為字符串)。 盡管$arr[var]
與$var['var']
等效,但您不應使用前者。 另請參見數組“注意事項” 。
$ var是變量'var'是字符串。 如果你說
$_SESSION['my_string'] = 1;
這將與
$anything = 'my_string';
$_SESSION[$anything] = 1;
因為$ anything是'my_string'。 在此示例中:
$_SESSION['test'] = 'test output';
$demo = 'demo';
$_SESSION[$demo] = 'demo output';
echo $_SESSION['test']; // outputs "test output"
echo $_SESSION['demo']; // outputs "demo output" and is the same as:
echo $_SESSION[$demo]; // outputs "demo output".
您可以看到它的工作原理。
在第二個問題上,訪問它們沒有問題,就像您說的那樣:
$ _SESSION [$ first] [$ second]。
在第一個答案上,看到Kaivosukeltaja,他給出了一個很好的答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.