我在数组上遇到了一些麻烦。我有一个数组,我想修改如下。我想通过索引删除它的元素(元素),然后重新索引数组。这可能吗?

$foo = array(

    'whatever', // [0]
    'foo', // [1]
    'bar' // [2]

);

$foo2 = array(

    'foo', // [0], before [1]
    'bar' // [1], before [2]

);

当前回答

试一试:

$foo2 = array_slice($foo, 1);

其他回答

一段时间后,我将复制所有数组元素(不包括这些不需要的)到新数组

Unset($array[0]); 

Sort($array); 

我不知道为什么这个方法被否决了,但如果有人愿意尝试一下,你会发现它是有效的。 在数组上使用sort可以重新分配数组的键。唯一的缺点是它对值进行排序。 因为键显然会被重新赋值,即使使用array_values,值是否被排序并不重要。

试一试:

$foo2 = array_slice($foo, 1);

你最好使用array_shift()。这将返回数组的第一个元素,从数组中删除它并重新索引数组。这都是一种有效的方法。

array_splice($array, array_search(array_value, $array), 1);