删除数组元素并重建索引的方法

我们在用unset($arr($k))来删除数组元素时,会发现被删除的值的索引空了,因为业务的需要,我们有时候需要保留索引

有以下两种方法:

方法一:array_values函数

$arr = array(1,2,3,4);
unset($arr[1]);
echo $array[1]; // error Undefined offset
print_r($arr);
// 输出如下
/**
Array
(
    [0] => 1
    [2] => 3
    [3] => 4
)
**/
$arr = array_values($arr);
print_r($arr);
// 输出如下
/**
Array
(
    [0] => 1
    [1] => 3
    [2] => 4
)
**/

方法二:array_splice函数

function array_remove(&$arr,$offset){
array_splice($arr,$offset,1);
}
$a = array('a','b','c','d');
array_remove($a,2);
print_r($a);

 

posted @ 2017-06-25 15:50  郁冬  阅读(1800)  评论(0编辑  收藏  举报