Php 禁用$\u会话数组内的排序

Php 禁用$\u会话数组内的排序,php,arrays,session,Php,Arrays,Session,我有一个会话变量,打印时如下所示: Array ( [cart_4] => 1 [cart_8] => 1 [cart_9] => 2 [cart_18] => 1 ) 问题是,我并没有按那个顺序添加东西,但因为它的键总是按那个顺序添加的。那么,是否有可能以添加项目的方式将项目保留在会话数组中,而不是像这样 在这个特定的示例中,我添加了最后一个cart_8,如您所见,它是列表中的第二个。您必须在数组中拼接元素或对数组进行排序。数组的顺序是

我有一个会话变量,打印时如下所示:

Array
(
    [cart_4] => 1
    [cart_8] => 1
    [cart_9] => 2
    [cart_18] => 1
)
问题是,我并没有按那个顺序添加东西,但因为它的键总是按那个顺序添加的。那么,是否有可能以添加项目的方式将项目保留在会话数组中,而不是像这样


在这个特定的示例中,我添加了最后一个
cart_8
,如您所见,它是列表中的第二个。

您必须在数组中拼接元素或对数组进行排序。数组的顺序是添加元素的顺序:

$a['cart_9'] = 2;
$a['cart_18'] = 1;
$a['cart_4'] = 1;
$a['cart_8'] = 1;

print_r($a);

Array
(
    [cart_9] => 2
    [cart_18] => 1
    [cart_4] => 1
    [cart_8] => 1
)
即使对于数字索引阵列:

$a[9] = 2;
$a[18] = 1;
$a[4] = 1;
$a[8] = 1;

print_r($a);

Array
(
    [9] => 2
    [18] => 1
    [4] => 1
    [8] => 1
)

给每件商品一个订单号。然后,您可以始终根据其值进行排序/迭代。为什么要使用这些键?为什么不
$cart[4]=1
?这样的组合键是毫无意义的,特别是当你以后需要提取这些“子编号”时。保持它们有序有什么意义?它实际上是一个购物车,我希望它们按照添加顺序一个接一个地出现。@BlekStena因此,它可能,如果您能提供一段处理会话数据的代码,让我们看看是否有一部分可以为您的数组排序,那将非常有用。我像这样添加它们
$\u session['cart.'$\u GET['id']]++并自动按id排序