PHP获取数组中重复的元素实例教程_PHP教程

WBOY
Release: 2016-07-20 11:16:54
Original
1091 people have browsed it

  1.获取一个数组中重复的元素。代码如下:

  a.方法一:

代码如下

function array_repeat($arr)
{
if(!is_array($arr)) return $arr;

$arr1 = array_count_values($arr);

$newArr = array();

foreach($arr1 as $k=>$v)
{
if($v>1) array_push($newArr,$k);
}
return $newArr;
}

  b.方法二:

代码如下

function array_repeat($arr)
{
if(!is_array($arr)) return $arr;

$arr1 = array_unique($arr);

$arr3 = array_diff_key($arr,$arr1);

return array_unique($arr3);
}

  测试方法

代码如下

$arr = array('apple','blue','red','banana','pear','apple','blue','color','color');
print_r(array_repeat($arr));

结果: Array ( [5] => apple [6] => blue [8] => color )

  后来代一些删除数组重复元素的方法

  array_keys函数来删除数组重复元素。

  */

代码如下

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

//array array_splice (array input, int offset [, int length [, array replacement]])
//array_splice()其实是替换数组元素的函数,但如果不加替换值就简单的删除元素.下面是array_splice()的用法:
$b=array("red", "green", "blue", "yellow");
array_splice($a,1,1);

  //下面看一个比较全面的删除重复值并且删除指定的数组元素

代码如下

$array1 = array(1 => "www.45it.net", 2 => "菠萝", 4 => "www.45it.net",3 => "香蕉",4 => "芭乐",5 => "www.45it.net",6 => "www.45it.net");

$search_keys = array_keys($array1, "www.45it.net");

foreach($search_keys as $key) {
unset($array1[$key]);
}

print_r($array1);

/*
得到结果
array ( [2] => 菠萝 [4] => 芭乐 [3] => 香蕉 )
*/

//删除数组中重复元素的函数
function delmember(&$array, $id)
{
$size = count($array);
for($i = 0; $i {
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

www.bkjia.com true http://www.bkjia.com/PHPjc/372143.html TechArticle 1.获取一个数组中重复的元素。代码如下: a.方法一: 代码如下 function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr1 = array_count_values($arr); $n...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!