我想给一个数组分配一个键值对,我的实现看起来像这样:
$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…我试图删除它,并显示了预期的值。