Php 阵列&;会话-不同于';var';和$var

Php 阵列&;会话-不同于';var';和$var,php,arrays,session,Php,Arrays,Session,我现在正在努力理解PHP数组。他们之间有什么不同 $\会话['var']和$\会话[$var] 我们如何以及何时可以访问这样的变量-$\u SESSION[$var][1] 谢谢D如果使用$var作为数组索引,则$var的值将用作索引: $var = "foo"; $_SESSION['foo'] = "bar"; $_SESSION['var'] = "variable"; echo $_SESSION['var']; // This will echo "variable" echo $

我现在正在努力理解PHP数组。他们之间有什么不同

$\会话['var']和$\会话[$var]

我们如何以及何时可以访问这样的变量-$\u 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"

至于第二个示例,在$_会话[$var][1]中,$_会话[$var]中包含的字符串将作为字母数组访问,返回索引1中的字符-第二个字母。

如果使用$var作为数组索引,则$var的值将用作索引:

$var = "foo";

$_SESSION['foo'] = "bar";
$_SESSION['var'] = "variable";

echo $_SESSION['var']; // This will echo "variable"
echo $_SESSION[$var];  // This will echo "bar"

至于第二个示例,在$\u会话[$var][1]中,$\u会话[$var]中包含的字符串将作为字母数组访问,返回索引1中的字符-第二个字母。

在前者中,“var”是$\u会话数组的“键”。在后者中,变量$var包含一个值,该值是$\u会话数组的“键”。

在前者中,“var”是$\u会话数组的“键”。在后者中,变量$var保存一个值,该值是$\u会话数组的“键”。

使用
$\u会话['var']
可以使用键
var
指定该值;使用
$\u会话[$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']
相当,但不应使用前者。另请参见。

使用
$\u会话['var']
使用键
var
指定值;使用
$\u会话[$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是“我的字符串”。在本例中:

$_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".

您可以看到它是如何工作的。

$var是一个变量,“var”是一个字符串。如果你说

$_SESSION['my_string'] = 1;
这将与

$anything = 'my_string';
$_SESSION[$anything] = 1;
因为$anything是“我的字符串”。在本例中:

$_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".

您可以看到它是如何工作的。

关于第二个问题,访问它们没有问题,正如您所说:

$\会话[$first][$second]


关于第一个答案,见Kaivosukeltaja,他给出了一个很好的答案

关于第二个问题,访问它们没有问题,正如您所说:

$\会话[$first][$second]

关于第一个答案,见Kaivosukeltaja,他给出了一个很好的答案