Php 从数组中删除第n个元素并对其重新索引

Php 从数组中删除第n个元素并对其重新索引,php,arrays,Php,Arrays,我有一个如下的数组 Array ( [0] => '13-Nov' [1] => 'PUJA SUNUWAR' [2] => '13-Nov' [3] => '...301303' [4] => 'TT1331600004\DLG' [5] => '-10000.00' [6] => '0' [7] => '90000.00' ) 我需要删除阵列的第4项并将其另存为 Array

我有一个如下的数组

Array
(
    [0] => '13-Nov'
    [1] => 'PUJA SUNUWAR'
    [2] => '13-Nov'
    [3] => '...301303'
    [4] => 'TT1331600004\DLG'
    [5] => '-10000.00'
    [6] => '0'
    [7] => '90000.00'
)
我需要删除阵列的第4项并将其另存为

 Array
    (
        [0] => '13-Nov'
        [1] => 'PUJA SUNUWAR'
        [2] => '13-Nov'
        [3] => 'TT1331600004\DLG'
        [4] => '-10000.00'
        [5] => '0'
        [6] => '90000.00'
    )

我不想迭代数组的每个元素。是否有类似于
array\u pop
的一次性功能来删除数组的第n个元素?

这是2d数组吗?如果是:

不,没有内置函数来执行此操作。您可以使用带有自定义回调的“array\u walk”,但我怀疑它会比简单的foreach更快

Else(如果为普通阵列):

它比阵列拼接快。

使用
阵列拼接($array,3,1)


如上所述,它没有内置功能。 如果不需要关心数组索引,则应使用
unset
,如果需要,则应使用
array\u值

此外,还应使用while数组迭代,以防止在修改值时内部数组复制。如果没有,这可能是性能崩溃的原因之一

foreach ($yourDataSet as &$value) {
    unset($value[2]); 
    //$value = array_values($value);
}
您不应该使用
阵列拼接
因为


p、 您还可以检查关于不同类型的数组迭代的性能测试。

这个
unset($array[2])有什么问题?或者您可以创建一个函数,该函数在数组中循环并创建一个新的函数,其中包含不必要的值。unset本身不会对数组重新编制索引。
foreach ($yourDataSet as &$value) {
    unset($value[2]); 
    //$value = array_values($value);
}