Home  >  Article  >  php教程  >  php数组中删除元素之重新索引的方法,php数组元素索引

php数组中删除元素之重新索引的方法,php数组元素索引

WBOY
WBOYOriginal
2016-06-13 09:25:23827browse

php数组中删除元素之重新索引的方法,php数组元素索引

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊

复制代码 代码如下:


$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>


print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )

那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是

array_splice():

复制代码 代码如下:


$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>

print_r($arr)之后,结果是A(www.jb51.net)rray ( [0] => a [1] => c [2] => d )

删除数组指定元素

array_search()比较实用

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false

复制代码 代码如下:


$array = array('1', '2', '3', '4', '5');
$del_value = 3;
unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
print_r($array);


输出
array('1', '2', '4', '5');

但这种如果要重新索引数组就需要利用foreach遍历删除的数组之后重新建立一个数组这样也是可以的。

在php中怎删除数组键值 让它变为索引数组

array_values() 返回 input 数组中所有的值并给其建立数字索引。

array_value($arr['date']);
 

php删除二维数组中指定的一项后,索引依然按顺序排列?

解法一:创建新数组:

$newArr = array();

foreach($arr as $key=>$value){
$newArr[] = $value;

}

解法二:排序
sort($arr);
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn