即时新闻
  • :
  • :

几种php 删除数组元素方法

时间:2015-11-19 00:19:24人气:来源: 互联网发布者:日出东方

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


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


//删除数组中的一个元素
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是一个数组: 
count($a); //得到4
unset($a[1]); //删除第二个元素
count($a); //得到3
echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
echo $a[1]; //无值
?>
也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值.
后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice(). 
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]);
}

陈三少

离经叛道,桀骜不驯。

关注我们的微信

逐日网微信

打开微信,点击底部的“发现”,使用 “扫一扫” 即可关注。

加入我们的QQ群

群名称群号码群状态加入群
逐日网内(1)群120542980未满可加逐日网内(1)群
逐日网内(2)群436894381暂不可加逐日网内(2)群
逐日网外(1)群124524546未满可加逐日网外(1)群
逐日网外(2)群125481334暂不可加逐日网外(2)群
逐日网外(3)群214647940暂不可加逐日网外(3)群
逐日网外(4)群215131266暂不可加逐日网外(4)群

加群需遵守群规,严禁一人多群。如有违规,立即清出。