首页 > 编程知识 正文

php删除重复数组,php去除重复数组

时间:2024-03-25 09:50:24 阅读:333355 作者:ZFUI

本文目录一览:

PHP删除数组中的重复数据

这样的话,是有些麻烦啦,你得一项一项去比较才行,你先比较从2到9这几项的类型,然后再去比较每一项当中的数目,然后再比较每一项当中每一项的值是不是相同才行,比较相同要用“===”,而不是“==”,这一点得注意下;

php数组去除重复的值

?php

$array = array(

array(

'id' = 19,

'title' = '总统套房'

),

array(

'id' = 20,

'title' = '豪华套房'

),

array(

'id' = 21,

'title' = '豪华套房'

),

array(

'id' = 22,

'title' = '总统套房'

),

);

foreach ($array as $key = $value) {

foreach ($value as $k = $v) {

if ($k == 'title') {

$new_arr[] = $v;

}

}

}

$arr = array_unique($new_arr);

echo implode(',', $arr);

?

望采纳 Thx

php如何删除两个数组中相同的元素

php如何去除数组中相同的元素

如何去除数组中相同的元素?在php手册中有这样写

array_unique(PHP

4

=

4.0.1)

array_unique

--

移除数组中重复的值

说明

array

array_unique

(

array

array)

array_unique()

接受

array

作为输入并返回没有重复值的新数组。

注意键名保留不变。array_unique()

先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的

array

中同一个值的第一个出现的键名会被保留。

注:

当且仅当

(string)

$elem1

===

(string)

$elem2

时两个单元被认为相同。就是说,当字符串的表达一样时。

第一个单元将被保留。

例子

1.

array_unique()

例子

?php

$input

=

array

("a"

=

"green",

"red",

"b"

=

"green",

"blue",

"red");

$result

=

array_unique

($input);

print_r($result);

?

php删除重复数组

?php

$array1=array(1,5,10,65,89,21);

$array2=array(65,10);

$array3=getrep($array1,$array2);

echo "pre";

print_r($array3);

function getrep($array1,$array2){

$array1=array_unique($array1); //先过滤掉原数组中的重复值

$array2=array_unique($array2); //先过滤掉原数组中的重复值

if(empty($array1) || empty($array2)){

return false;

}

$array3=array();

foreach($array1 as $value){

if(!in_array($value,$array2)){

$array3[]=$value;

}

}

return $array3;

}

?

如何正确实现PHP删除数组重复元素

array_unique

(PHP 4 = 4.0.1, PHP 5, PHP 7)

array_unique — 移除数组中重复的值

说明

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

array_unique() 接受 array 作为输入并返回没有重复值的新数组。

注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。

Note: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。 第一个单元将被保留。

参数

array

输入的数组。

sort_flags

The optional second parameter sort_flags may be used to modify the sorting behavior using these values:

Sorting type flags:

SORT_REGULAR - compare items normally (don't change types)

SORT_NUMERIC - compare items numerically

SORT_STRING - compare items as strings

SORT_LOCALE_STRING - compare items as strings, based on the current locale.

返回值

Returns the filtered array.

更新日志

版本

说明

5.2.10 Changed the default value of sort_flags back to SORT_STRING.

5.2.9 Added the optional sort_flags defaulting to SORT_REGULAR. Prior to 5.2.9, this function used to sort the array with SORT_STRING internally.

范例

Example #1 array_unique() 例子

?php

$input = array("a" = "green", "red", "b" = "green", "blue", "red");

$result = array_unique($input);

print_r($result);

?

以上例程会输出:

Array

(

[a] = green

[0] = red

[1] = blue

)

Example #2 array_unique() 和类型

?php

$input = array(4, "4", "3", 4, 3, "3");

$result = array_unique($input);

var_dump($result);

?

以上例程会输出:

array(2) {

[0] = int(4)

[2] = string(1) "3"

}

参见

array_count_values() - 统计数组中所有的值出现的次数

注释

Note: Note that array_unique() is not intended to work on multi dimensional arrays.

php 去掉完全相同的重复数组

一、这个没有被合并,只是取的后面这个键名的值,

二、$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");

$result

=

array_unique

($input);

print_r($result);

输出的结果:Array

(

[11]

=

aaada

[22]

=

bbbb

[33]

=

cccc

[44]

=

cccc1

)

键名33

55

的值完全一样的时候,后者会被干掉

如果你要的是键名和值完全一致的时候才删除一个的话,似乎不能,因为键名是不允许重复的

听你的情况似乎数据量很大,建议你使用

array_flip()函数

【php中,删除数组中重复元素有一个可用的函数,那就是array_unique(),

但是它并不是一个最高效的方法,使用array_flip()函数将比array_uniqure()在速度上高出五倍左右。】

例子:$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");

$arr1

=

array_flip(array_flip($input));

print_r($arr1);

输出的结果:Array

(

[11]

=

aaada

[22]

=

bbbb

[55]

=

cccc

[44]

=

cccc1

)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。