首页 > 语言 > PHP > 正文

php 删除数组元素方法

2024-09-04 11:46:30
字体:
来源:转载
供稿:网友

在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法.

看一完整删除重复数组实例,代码如下:

  1. //删除数组中的一个元素  
  2. function array_remove_value(&$arr$var){  
  3. foreach ($arr as $key => $value) {  
  4. if (is_array($value)) {  
  5. array_remove_value($arr[$key], $var);  
  6. else {  
  7. $value = trim($value);  
  8. if ($value == $var) {  
  9. unset($arr[$key]);  
  10. else {  
  11. $arr[$key] = $value;  
  12. }  
  13. }  
  14. }  

$a是一个数组:

  1. <?php 
  2.  $a=array("red""green""blue""yellow");  
  3. count($a); //得到4  
  4. unset($a[1]); //删除第二个元素  
  5. count($a); //得到3  
  6. echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,  
  7. echo $a[1]; //无值  
  8. ?>  

也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值.

后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice(),代码如下:

  1. <?php 
  2. $a=array("red""green""blue""yellow");  
  3. count ($a); //得到4  
  4. array_splice($a,1,1); //删除第二个元素  
  5. count ($a); //得到3  
  6. echo $a[2]; //得到yellow  
  7. echo $a[1]; //得到blue  
  8. ?> 

方法二,删除数组中重复元素的函数,代码如下:

  1. function delmember(&$array$id)  
  2. {  
  3. $size = count($array);  
  4. for($i = 0; $i <$size - $id - 1; $i ++)  
  5. {  
  6. $array[$id + $i] = $array[$id + $i + 1];  
  7. }  
  8. unset($array[$size - 1]);  
  9. }//开源软件:Vevb.com

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表