Home  >  Article  >  Backend Development  >  PHP Get Duplicate Elements in an Array Example Tutorial_PHP Tutorial

PHP Get Duplicate Elements in an Array Example Tutorial_PHP Tutorial

WBOY
WBOYOriginal
2016-07-20 11:16:541132browse

   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;
}

代码如下  

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

代码如下  

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

代码如下  

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

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

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

Later, some methods of deleting duplicate elements from arrays

 array_keys function to delete duplicate elements from the array.

 */

The code is as follows

$a=array("red", "green", "blue", "yellow");
count($a); //Get 4
unset($a[1]); //Delete the second element
count($a); //Get 3
echo $a[2]; //There are only three elements in the array. I wanted to get the last element, but I got blue,
echo $a[1]; //No value

代码如下  

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

//array array_splice (array input, int offset [, int length [, array replacement]])
//array_splice() is actually a function that replaces array elements, but if you do not add a replacement value, it simply deletes the element. The following is the usage of 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");

代码如下  

$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 <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

$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 <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/372143.htmlTechArticle1. Get the repeated elements in an array. The code is as follows: a. Method 1: The code is as follows function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr1 = array_count_values($arr); $n...
Statement:
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