将密钥对值分配给常规数组vs分配给会话数组



我想给一个数组分配一个键值对,我的实现看起来像这样:

$ingredients = [];
$key1 = 100;
$value1 = 200;
$key2 = 300;
$value2 = 400;
$ingredients[$key1] = $value1;
$ingredients[$key2] = $value2;

然而,输出不是我所期望的。它看起来像这样:

array(
0 => 200,
1 => 400
);

我也试过这样做:

$ingredients[][$key1] = $value1;
$ingredients[][$key2] = $value2

但只导致不同的输出:

array(
0 => array(100 => 200),
1 => array(300 => 400)
);

但是,当我尝试使用会话时,输出是正确的。

$_SESSION['sessionname'][$key1] = $value1;
$_SESSION['sessionname'][$key2] = $value2;
array(
100 => 200,
300 => 400
);

$ingredients[]$_SESSION['sessionname'][]的行为有什么不同?我如何使用$ingredients[]实现正确的行为?

我在代码的某个地方做了sort($ingredients)。我注意到它把所有的键都改成了一系列的1,2,3…我试图删除它,并显示了预期的值。

相关内容

  • 没有找到相关文章