如何在PHP中重新排序数组索引?

时间:2014-06-18 07:19:18

标签: php arrays

我有一个数组如下:

Array
(
        [0] => value1
        [1] => value2
        [2] => value3
        [3] => value4
        [4] => value5
        [5] => value6
)

现在不知怎的,我需要从该数组中取消设置一个特定的键,我通过使用unset来实现。让我们假设我删除或取消设置索引1.然后删除该索引后,我有以下数组:

Array
(
        [0] => value1
        [2] => value3
        [3] => value4
        [4] => value5
        [5] => value6
)

现在当我再次遍历该数组时,我将得到未定义的索引1错误。我想问一下,有什么方法可以再次重新排序这个数组,以便索引排序吗?删除后重新排序后,数组如下图所示:

Array
(
        [0] => value1
        [1] => value3
        [2] => value4
        [3] => value5
        [4] => value6
)

P.S:我收到错误,因为我正在使用for循环,并且由于问题的复杂性而不想使用foreach循环。问题的实际代码很难理解,这就是为什么我在我的问题中创建虚拟一维数组以明确询问问题的原因。

因此,请仅发布那些解决方案,之后我可以使用for循环而不是foreach迭代相同的数组。 非常感谢。

2 个答案:

答案 0 :(得分:3)

array_values应该做的工作:

$new_array = array_values($old_array);

答案 1 :(得分:0)

$arr_keys = array_keys($your_array);
$new_array = array();
for($i=0;$i<count($your_array); $i++)
{
    $new_array[] = $your_array[$arr_keys[$i]];
}