我試圖理解PHP數組。
$ _SESSION ['var']和$ _SESSION [$ var]之間有什麼不同?
我們如何以及何時可以像這樣訪問變量 - $ _SESSION [$ var] [1]?
謝謝! :d
我試圖理解PHP數組。
$ _SESSION ['var']和$ _SESSION [$ var]之間有什麼不同?
我們如何以及何時可以像這樣訪問變量 - $ _SESSION [$ var] [1]?
謝謝! :d
如果使用$ var當成數組索引,$變種的值將被用作索引:
$var = "foo";
$_SESSION['foo'] = "bar";
$_SESSION['var'] = "variable";
echo $_SESSION['var']; // This will echo "variable"
echo $_SESSION[$var]; // This will echo "bar"
關於第二個實施例,在$ _SESSION [$變種] [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']
等同,但不應使用前者。另請參閱Array dos and don’ts。
$ var是一個變量'var'是一個字符串。如果你說
$_SESSION['my_string'] = 1;
這將是一樣的
$anything = 'my_string';
$_SESSION[$anything] = 1;
因爲$什麼是 '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 [$首頁] [$第二。
關於第一個答案,請參閱Kaivosukeltaja,他已經給出了很好的答案