从PHP数组中删除并调整索引

从PHP数组中删除并调整索引,php,Php,如果我有这个数组: <?php $array[0]='foo'; $array[1]='bar'; $array[2]='foo2'; $array[3]='bar3'; ?> 我想删除第二个条目($array[1]),但这样所有剩余条目的索引都会自动得到调整,因此索引为2和3的下两个元素将变为1和2 如何做到这一点,或者是否有任何内置功能?有几种方法可以做到这一点。一种是在删除项目后使用,以仅获取值: unset($array[1]); $array = array_va

如果我有这个数组:

<?php

$array[0]='foo';
$array[1]='bar';
$array[2]='foo2';
$array[3]='bar3';

?>

我想删除第二个条目(
$array[1]
),但这样所有剩余条目的索引都会自动得到调整,因此索引为2和3的下两个元素将变为1和2


如何做到这一点,或者是否有任何内置功能?

有几种方法可以做到这一点。一种是在删除项目后使用,以仅获取值:

unset($array[1]);
$array = array_values($array);
var_dump($array);
另一种是使用:


有几种方法可以做到这一点。一种是在删除项目后使用,以仅获取值:

unset($array[1]);
$array = array_values($array);
var_dump($array);
另一种是使用:

你可以用。请注意,这将修改传递的数组,而不是返回更改的副本。例如:

$array[0] = 'foo';
//etc.

array_splice($array, 1, 1);

print_r($array);
你可以用。请注意,这将修改传递的数组,而不是返回更改的副本。例如:

$array[0] = 'foo';
//etc.

array_splice($array, 1, 1);

print_r($array);

我总是使用数组与单个数组合并

$array = array_merge($array);
print_r($array);
从php.net:
如果只给出一个数组,并且数组被数字索引,则键将以连续的方式重新索引。

我总是使用数组与单个数组合并

$array = array_merge($array);
print_r($array);
从php.net: 如果只给出一个数组,并且该数组被数字索引,则键将以连续方式重新索引