如何从PHP中的多维数组中删除重复值?
示例数组:
Array
(
[0] => Array
(
[0] => abc
[1] => def
)
[1] => Array
(
[0] => ghi
[1] => jkl
)
[2] => Array
(
[0] => mno
[1] => pql
)
[3] => Array
(
[0] => abc
[1] => def
)
[4] => Array
(
[0] => ghi
[1] => jkl
)
[5] => Array
(
[0] => mno
[1] => pql
)
)
Run Code Online (Sandbox Code Playgroud) 我需要从输入数组中删除特定列中出现重复值的行。
样本数组:
$array = [
['user_id' => 82, 'ac_type' => 1],
['user_id' => 80, 'ac_type' => 5],
['user_id' => 76, 'ac_type' => 1],
['user_id' => 82, 'ac_type' => 1],
['user_id' => 80, 'ac_type' => 5]
];
Run Code Online (Sandbox Code Playgroud)
我想进行过滤以user_id确保唯一性并实现此结果:
所以,我的输出将是这样的:
[
['user_id' => 82, 'ac_type' => 1],
['user_id' => 80, 'ac_type' => 5],
['user_id' => 76, 'ac_type' => 1]
]
Run Code Online (Sandbox Code Playgroud)
我已经找到了此页面,但没有一个答案适合我的情况:
$result = array_unique($array, SORT_REGULAR);
Run Code Online (Sandbox Code Playgroud)
和
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
Run Code Online (Sandbox Code Playgroud)
和
$result = array();
foreach ($array as …Run Code Online (Sandbox Code Playgroud) 我有一个多维数组,我需要按唯一性排序,因为我有重复的记录,所以我需要array_unique通过数组并删除值的重复项,例如
Array
(
[0] => Array
(
[id] => 324
[time_start] => 1301612580
[level] => 0.002
[input_level] => 0.002
)
[1] => Array
(
[id] => 325
[time_start] => 1301612580
[level] => 0.002
[input_level] => 0.002
)
[2] => Array
(
[id] => 326
[time_start] => 1301612580
[level] => 0.002
[input_level] => 0.002
)
)
Run Code Online (Sandbox Code Playgroud)
有重复的time_start,他们都是一样的,也level和input_level但他们没有受到影响,只是如果有匹配time_start它应该删除它,全阵列式处理(数组比你想象的大,但我只贴小数组的例子).应该删除欺骗并返回如下:
Array
(
[0] => Array
(
[id] => 324
[time_start] => 1301612580 …Run Code Online (Sandbox Code Playgroud) 在下面的代码中:
$sth = $dbh->query('SELECT DISTINCT title,courseId,location from training');
$sth->setFetchMode(PDO::FETCH_ASSOC);
$results = $sth->fetchAll();
$uu = array_unique($results);
echo "<pre>";
print_r($uu);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
我只得到1个结果 print_r($uu);
如果我删除array_unique所有(30+)行返回.(不,并非所有这些都是重复的):)
我究竟做错了什么?
编辑var_dump()结果:
array(23) {
[0]=>
array(3) {
["title"]=>
string(26) "String Here"
["courseId"]=>
string(1) "8"
["location"]=>
string(1) "1"
}
[1]=>
array(3) {
["title"]=>
string(26) "Another String Here"
["courseId"]=>
string(1) "8"
["location"]=>
string(1) "2"
}
[2]=>
array(3) {
["title"]=>
string(24) "Third String Here"
["courseId"]=>
string(1) "5"
["location"]=>
string(1) "2"
}
Run Code Online (Sandbox Code Playgroud)
等等...