php利用了 遍历查询 删除重复数组元素

几种php 删除数组元素方法在很多情况下我们的数组会出现重复情况,

那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,

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

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

看一完整删除重复数组实例

//删除数组中的一个元素

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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是一个数组:

1

2

3

4

5

6

count($a);//得到4

unset($a[1]);//删除第二个元素

count($a);//得到3

echo $a[2];//数组中仅有三个元素,本想得到最后一个元素,但却得到blue,

echo $a[1];//无值

?>

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

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

1

2

3

4

5

6

count ($a);//得到4

array_splice($a,1,1);//删除第二个元素

count ($a);//得到3

echo $a[2];//得到yellow

echo $a[1];//得到blue

?>

方法二

删除数组中重复元素的函数

1

2

3

4

5

6

7

8

9

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]);