php数组中删除元素之重新索引的三种方法
如果要在某个数组中删除一个元素,可以直接用的unset。
< ?php
$arr = array('a','b','c','d');
unset($arr[1]);
echo $array[1]; // error Undefined offset
print_r($arr);
?>
print_r($arr)最终结果是 Array ( [0] => a [2] => c [3] => d )
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?
有三种方法。
第一种方法:array_values
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。
< ?php
$arr = array('a','b','c','d');
unset($arr[1]);
$arr = array_values($arr);
print_r($arr);
// 输出如下
/**
Array
(
[0] => a
[1] => c
[2] => d
)
?>
二、第二种方法:array_splice()
array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。
< ?php
$arr = array('a','b','c','d');
unset($arr[1]);
array_splice($arr,0,0);
print_r($arr);
// 输出如下
/**
Array
(
[0] => a
[1] => c
[2] => d
)
?>
三、第三种方法:不使用unset
使用array_splice()的功能
< ?php
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>
print_r($arr)之后的结果是Array ( [0] => a [1] => c [2] => d )
CodeIgniter修改分页的样式和内容 PHP中var_dump展示不全出现省略号的解决办法
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.