特定于PHP的数组组织函数

特定于PHP的数组组织函数,php,arrays,session,Php,Arrays,Session,我有几个会话数组,正好从中删除了特定的索引。例如,我有一个名为$\u session['products']的会话,此会话包含以下元素:$\u session['products'][0],$\u session['products'][1]和$\u session['products'][2] 我试图删除这些变量中的任何一个,问题是当删除第二个变量时,会弄乱数组,使其无法在for循环中显示。有没有办法重新安排以下内容:$\u会话['products'][0]和$\u会话['products']

我有几个会话数组,正好从中删除了特定的索引。例如,我有一个名为
$\u session['products']
的会话,此会话包含以下元素:
$\u session['products'][0]
$\u session['products'][1]
$\u session['products'][2]


我试图删除这些变量中的任何一个,问题是当删除第二个变量时,会弄乱数组,使其无法在for循环中显示。有没有办法重新安排以下内容:
$\u会话['products'][0]
$\u会话['products'][2]
到带有PHP内置函数的
$\u会话['products'][0]
$\u会话['products'][1]
?如果没有,甚至可能吗?

您可以通过
数组\u值来实现这一点

unset($_SESSION['products'][2]); // assuming the product key 
                                 // exist in product array sess


$_SESSION['products'] = array_values($_SESSION['products']);


array\u values()返回数组中的所有值并**对数组进行数字索引。**

它不能显示在for循环中
Um,是的,它可以
foreach($\u SESSION['products']作为$product)
将跳过缺少的键。@Izkata:
foreach=对于
,这非常有效,非常感谢!我不知道这个函数存在!谢谢你让我开心。:)我很高兴能帮上忙。