加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 删除数组元素技巧

发布时间:2022-07-24 11:55:01 所属栏目:PHP教程 来源:互联网
导读:在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法. 看一完整删除重复数组实例,代码如下: //删除数组中的一个元素 function ar
  在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法.
 
  看一完整删除重复数组实例,代码如下:
 
  //删除数组中的一个元素  
  function array_remove_value(&$arr, $var){  
  foreach ($arr as $key => $value) {  
  if (is_array($value)) {  
  array_remove_value($arr[$key], $var);  
  } else {  
  $value = trim($value);  
  if ($value == $var) {  
  unset($arr[$key]);  
  } else {  
  $arr[$key] = $value;  
  }  
  }  
  }  
  }
  $a是一个数组:
 
  <?php
   $a=array("red", "green", "blue", "yellow");  
  count($a); //得到4  
  unset($a[1]); //删除第二个元素  
  count($a); //得到3  
  echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,  
  echo $a[1]; //无值  
  ?>  
  也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值.
 
  后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice(),代码如下:
 
  <?php
  $a=array("red", "green", "blue", "yellow");  
  count ($a); //得到4  
  array_splice($a,1,1); //删除第二个元素  
  count ($a); //得到3  
  echo $a[2]; //得到yellow  
  echo $a[1]; //得到blue  
  ?>
  方法二,删除数组中重复元素的函数,代码如下:
 
  function delmember(&$array, $id)  
  {  
  $size = count($array);  
  for($i = 0; $i <$size - $id - 1; $i ++)  
  {  
  $array[$id + $i] = $array[$id + $i + 1];  
  }  
  unset($array[$size - 1]);  
  }//开源软件:phpfensi.com

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读