当前位置:首页 > PHP教程 > php数组 > 列表

php数组删除元素示例

发布:smiling 来源: PHP粉丝网  添加日期:2020-11-03 13:40:55 浏览: 评论:0 

在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明。

我们来举一个例子:

  1. <?php   
  2. $arr = array('a','b','c','d');   
  3. unset($arr[1]);   
  4. print_r($arr);   
  5. ?> 

我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d );

如果是这样的话,那我们就来看看数字数组的形式,代码如下:

  1. <?php   
  2. $arr = range(5,10,4);   
  3. print_r($arr);//<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )</span>   
  4.  unset($arr[1]);//<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 5 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )</span>   
  5. print_r($arr);   
  6. ?> 

可以看到输出的形式也是数组是会填补缺少的元素的位置。那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是

array_splice():

  1. <?php   
  2. $arr = array('a','b','c','d');   
  3. array_splice($arr,1,1);   
  4. print_r($arr); // <span style="font-family: Simsun;font-size:16px; ">Array ( [0] => a [1] => c [2] => d )</span>   
  5. ?> 

Tags: php数组删除

分享到: